ios - AppAuth/OpenID-连接 : Login with username and password possible?

标签 ios openid-connect appauth

我想在 iOS 应用程序中通过 OpenID-Connect 实现登录。 AppAuth-SDK 似乎是这样做的标准方法。下载一些示例后,我有点困惑。所有 AppAuth 示例和教程都使用 WebView,用户可以在其中输入用户名和密码。我想制作一个本地登录屏幕,用户必须在其中输入用户名和密码。 AppAuth甚至可能吗?我读了一些关于“资源所有者密码授予”和“客户端 secret ”的内容。那是我需要的吗?

如果有人能把我推向正确的方向,我将非常感激。

最佳答案

思考AppAuth-iOS是一组简单的类,可帮助您构建 OAuth/OpenID Connect 请求和接收响应。他们的示例可能包含仅使用带有授权代码流的 WebView 的示例。但是如果你查看文档,你会发现他们的类 API 支持密码授予。

您可以构建一个 OIDTokenRequest与相关参数。在这里,您可以使用来自 OIDGrantTypes 的内置授权类型 OIDGrantTypePassword .只需通过 additionalParameters 将从您的登录机制获得的用户名密码提供给 OIDTokenRequest。创建请求并获取响应。我自己还没有尝试过,但仅查看文档就表明这是可行的方法。

始终将支持库视为为帮助您而编写的简单类。这样事情就变得容易处理了。

关于ios - AppAuth/OpenID-连接 : Login with username and password possible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54861370/

相关文章:

ios - 如何在解码 video.mp4 时获取 iOS 中每个视频帧的时间戳

ios - 共享扩展

oauth - 停用 keycloak 中的领域

single-sign-on - 同一域中的 OpenID Connect RP 和 OP?

openid-connect - 如何覆盖 OpenIdConnectAuthenticationHandler RememberNonce 方法

azure-active-directory - AppAuth 与 Azure AD B2C

ios - 在后台使用 NSURLSession 一个一个地下载 100 个文件的列表

mysql - 您可以将 PARSE 与 MySQL 数据库(Joomla 网站)一起使用吗?

swift - 如何使用 Swift Package Manager 更新 iOS Simulator 部署目标?

ios - RNAAppAuth,iOS 构建失败,未知类型名称 'namespace' ,react-native-app-auth