gpt4 book ai didi

mobile - 我可以将授权码与 PKCE Flow 一起用于移动应用程序吗?

转载 作者:行者123 更新时间:2023-12-05 04:50:59 24 4
gpt4 key购买 nike

我知道 OAuth 2.0 Authorization Code with PKCE Flow 是 OAuth 的最佳实践。我们计划将它用于我们的 WEB 应用程序。但我不明白如何在不使用浏览器进行身份验证的情况下将此流程用于 native UX 我的移动应用程序 (https://medium.com/klaxit-techblog/openid-connect-for-mobile-apps-fcce3ec3472)在我们的案例中使用浏览器是 Not Acceptable 。移动应用程序有一个登录页面,用户可以在其中输入他们的 сredentials,没有第 3 方授权。

是否可以将授权代码与 PKCE 流程一起使用,或者我应该在我的情况下使用 OAuth2 资源所有者密码授予?还有其他选择吗?

最佳答案

这里有两个主要选项:

<强>1。授权代码流 + PKCE

这通常是通过插入 AppAuth 库并使用 Chrome 自定义选项卡或 ASWebAuthenticationSession 窗口来完成的,这样用户体验就会感觉融为一体。这些是主要优点:

  • 登录往往对用户更友好,密码自动填充和跨多个应用的​​单点登录等功能效果最好

  • 您可能会支持 many authentication options而不仅仅是用户名和密码

  • 它会在第三方安全审查(如果适用)中表现更好,因为它是标准选项 - 例如 Google 将它用于移动 Gmail

虽然实现它有一个学习曲线。此外,它还具有使用授权服务器和外部化登录用户体验的先决条件。这在某些公司可能难以在政治上进行管理。

<强>2。资源所有者密码授予

这也可以作为一个短期解决方案,但是 deprecated in OAuth 2.1并且在安全审查中表现不佳。它会将您限制为基于密码的登录,有时会导致长期访问 token (如果不支持刷新 token )。另外一点是您可以更好地控制品牌和登录屏幕行为。

实际的后续步骤

如果您想查看一些使用 Code Flow + PKCE 的工作应用程序,请随时从我的 Quick Start Page 运行这些应用程序.也许那时您可以根据用户体验和对您的利益相关者最重要的因素等因素做出明智的决定。

关于mobile - 我可以将授权码与 PKCE Flow 一起用于移动应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67091322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com