gpt4 book ai didi

mobile - 什么 OpenID Connect 授权流程可以对移动应用程序用户进行身份验证?

转载 作者:行者123 更新时间:2023-12-03 12:16:32 24 4
gpt4 key购买 nike

我正在构建一个与 RESTful API 交互的跨平台移动应用程序,我想使用 OpenID Connect 来验证我的用户。我将构建自己的 OpenID Connect 提供程序服务器。

OpenID.net claims那:

OpenID Connect allows for clients of all types, including browser-based JavaScript and native mobile apps, to launch sign-in flows and receive verifiable assertions about the identity of signed-in users.



但是,我找不到任何解释如何对移动应用程序客户端进行实际身份验证的文档。

This StackExchange answer明确指出 OpenID Connect 不支持“基于资源所有者密码的授权”流程或“客户端凭据”流程。

只剩下“授权代码”流程(通常由服务器端应用程序使用)和“隐式授权”流程(通常由客户端应用程序使用)。这两者似乎都依赖于将用户重定向到提供者的授权端点,并让提供者重定向回客户端 URL。我不明白这如何适用于移动应用程序。

任何人都可以向我解释(或者甚至更好,指向我的教程或一些示例代码)来解释如何做到这一点?

更新

澄清一下:OpenID Connect 依赖于客户端将用户重定向到授权端点,然后是提供者 将用户重定向回 给客户。在客户端不是 Web 应用程序的情况下,这如何工作?

最佳答案

移动应用程序,至少在 iOS 和 Android 上,可以注册自定义 URL 方案,以便来自浏览器的重定向可以将用户连同一些查询参数一起发送回您的应用程序。

因此,您可以在 native 移动应用程序中使用这些流,但它涉及将用户发送到 Web 浏览器(外部浏览器应用程序或应用程序内置的 Web View ),以便他们向 OP 进行身份验证。

此处提供了一篇完整的文章,介绍了如何在 native 移动应用程序上安全地实现“授权代码授予”流程:Building an OpenID Connect flow for mobile .它基于最新的IETF OAuth 2.0 Security Best Current Practice .

另请注意,“隐式授予”流程的使用现在是 highly discouraged .

关于mobile - 什么 OpenID Connect 授权流程可以对移动应用程序用户进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28176288/

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