【问题标题】:Okta Authentication and OAuth to secure API用于保护 API 的 Okta 身份验证和 OAuth
【发布时间】:2016-12-07 02:13:55
【问题描述】:

我正在为我的员工创建一个 Android 应用程序,它将要求销售人员使用 Okta 身份验证登录(我计划使用他们的身份验证 API)。我的问题是如何保护我的代码将从 android 应用程序调用的 WEB API。我应该使用 Okta 的 OAuth 实现吗?

我的想法是,如果我使用 Okta 的身份验证(让他们登录),我还可以调用 OAuth API 来检索令牌,然后检索访问令牌。然后,我可以通过检查从 Okta 收到的访问令牌来锁定 API。

您认为这是使用 Okta 执行此操作的最佳方式吗?

谢谢!

【问题讨论】:

    标签: android xamarin oauth-2.0 okta okta-api


    【解决方案1】:

    2016 年 8 月 18 日更新:我们现在在 https://github.com/raphaellondner-okta/okta-oauth-xamarin-android-customtabs 上提供了 Xamarin 代码示例

    自 2016 年 8 月 18 日起,您将需要稍微修改版本的 IdentityModel.OidcClient (https://github.com/raphaellondner-okta/IdentityModel.OidcClient/tree/rl-pkce-secretless) 才能使其与 Okta 和 PKCE 一起使用。希望这些提议的更改将很快进入主分支。

    原答案: 我建议您查看我们在https://github.com/oktadeveloper/okta-openidconnect-appauth-sample-android 上提供的 OAuth Android 示例(我们利用 AppAuth 来实现使用 Okta 的身份验证以及使用 OAuth 和我们的 OAuth 功能的授权)。

    我们还没有可用的 Xamarin 示例,但总体思路是利用 OAuth 授权代码流,使用嵌入式浏览器调用 Okta /authorize 端点,在浏览器响应 url 中获取从 Okta 返回的代码(作为片段)并将其传递到您的移动应用程序以将代码交换为访问令牌。

    我们的 OAuth 功能仍处于测试阶段,因此如果需要访问这些功能,请通过 okta dot com 的开发人员联系我们。

    【讨论】:

    • 我刚刚回到这个项目。 Raphael,你能告诉我为什么我需要使用 customtabs github 项目和 rl-pkce-secretless github 项目吗?为什么需要通过 Okta 登录的 Xamarin 应用程序中需要这两个部分?在开始这个项目之前,我想了解所需的部分。
    • 很高兴知道您又回到了这个项目!首先,您应该使用我的项目的最新版本,该版本现在引用了 IdentityModel.OidcClient 库的官方 NuGet 版本。该库需要进行修改才能与 Okta 的 OAuth 2.0 的 PKCE 实现一起使用,而无需传递 OAuth 客户端密码。该库用于处理使用 Xamarin 编写的移动应用程序中的整个 OpenID Connect 授权代码流。 Chrome 自定义选项卡用于处理浏览器中的用户身份验证,其响应由 Xamarin 应用处理。
    • @RaphaelLondner 我的问题有点偏离主题,我正在尝试使用您的示例项目来做同样的事情,但在 iOS 上并且遇到了一些问题,我需要使用自定义您链接到的 OidcClient 版本,以便它可以使用 Okta 正确处理 PKCE?
    猜你喜欢
    • 2020-08-21
    • 2017-03-25
    • 1970-01-01
    • 2017-10-31
    • 2010-11-19
    • 2021-01-11
    • 2015-02-02
    • 1970-01-01
    • 2018-01-11
    相关资源
    最近更新 更多