【问题标题】:How to handle redirect url for mobile application - OAuth 2.0 Authorization Code Flow with PKCE如何处理移动应用程序的重定向 url - 使用 PKCE 的 OAuth 2.0 授权代码流
【发布时间】:2019-08-20 17:28:23
【问题描述】:

我们正在尝试构建一个将 OAuth 2.0 授权代码流与 PKCE 一起使用的 Android 移动应用程序。
在阅读有关此内容的更多信息时,我发现我们必须传递重定向 URL,它将返回 code。 对于 Web 应用程序,拥有重定向 URL 是有意义的,但我们如何才能将它用于移动应用程序。
一些同事建议使用可以完成这项工作的应用内浏览器。 但我根本不想在我的应用程序中使用浏览器。

有人可以建议实现这一点的最佳方法。

【问题讨论】:

    标签: oauth-2.0 openid okta okta-api


    【解决方案1】:

    过去,开发人员使用自定义方案(例如myapp://)在客户端捕获重定向响应(例如302 Found)。

    但是,恶意开发人员找到了一种从自定义方案调用过程中窃取授权代码的方法。称为“授权码拦截攻击”。 RFC 7636,又名 PKCE,已被开发为攻击的对策。技术解释见this article

    BCP 212 中推荐的一种新方法是声称 https 方案 URI 重定向。详情请见Section 7.2

    无需供应商的解决方案是 AppAuth-*(例如 AppAuth-iOSAppAuth-Android),可在 https://github.com/openid/ 获得。

    最后,请注意,应用内浏览器将不再适用于 OAuth。禁止应用内浏览器的背景见this article

    【讨论】:

      【解决方案2】:

      您可以使用 Okta Android SDK 创建自己的登录 UI。 https://github.com/okta/okta-oidc-android#Sign-in-with-your-own-UI

      【讨论】:

        猜你喜欢
        • 2020-11-27
        • 2020-11-07
        • 1970-01-01
        • 2022-11-24
        • 2016-10-15
        • 1970-01-01
        • 2021-04-01
        • 2018-08-05
        • 1970-01-01
        相关资源
        最近更新 更多