【问题标题】:OAuth 2.0 Authorisation Code grant + PKCE for native mobile app原生移动应用的 OAuth 2.0 授权码授权 + PKCE
【发布时间】:2020-11-27 10:29:17
【问题描述】:

我目前正在实施一个新的 OAuth 2 服务器(计划使用 Ory Hydra),这将是我们的开发人员门户网站的授权服务器,开发人员可以在其中创建一个应用程序,他们将获得 client_idclient_secret 和将它们用于令牌交换,也用于我们的移动应用程序,用户填写他们的凭据(用户名和密码)。 loginlogoutforgot password 等将位于不同的服务器中。

问题是,有没有办法防止将同意屏幕作为授权代码授予 + PKCE 的一部分?通过移动应用程序,用户通过身份验证可以从不同的服务访问他们自己的信息,我对授权码授予的理解是,它旨在被第三方应用程序用来访问用户信息。

我知道还有其他授权类型,但根据thisthis,授权码 + PKCE 似乎是本机移动应用程序的推荐授权

谢谢!

【问题讨论】:

    标签: server oauth-2.0 native pkce hydra


    【解决方案1】:

    同意

    通常显示同意屏幕是 OAuth 客户端的属性,尽管这因提供商而异。

    在某些个人资产未被使用且消息对用户没有意义的情况下,这可能是有意义的。例如由管理员配置的公司应用程序。

    移动

    您使用 PKCE 是正确的 - 它是当今所有 UI 流程的标准 - 并在 OAuth 2.1 Updates 中推荐。

    有趣的是,同意屏幕对于让密码自动填充适用于移动应用程序很有用,因此您可能也需要考虑这个角度。

    ORY

    这看起来是一个非常有趣的项目 - 我会仔细看看。

    我的资源

    移动流程难以实现。如果有用的话,我的博客上有一些关于该主题的可视化 iOS 和 Android 帖子:

    【讨论】:

      【解决方案2】:

      使用 Ory Hydra,您可以控制用户界面,以便决定何时显示和何时不显示同意屏幕。

      所以这取决于你如何构建你的应用程序。

      基本上选择Implementing Login, Consent & Logout UI 教程中概述的默认同意类型。

      然后跳过在您的应用中显示该同意 UI。

      【讨论】:

        猜你喜欢
        • 2020-11-07
        • 2012-05-31
        • 2018-10-31
        • 2012-10-01
        • 2017-01-10
        • 2018-11-21
        • 1970-01-01
        • 2016-10-15
        • 1970-01-01
        相关资源
        最近更新 更多