OpenID Connect 是 OAuth2 的配置文件......定义了一种体系结构,使人们能够授权身份提供者向客户端(网站/移动应用程序)发布某些用户声明。
OAuth2 提供资源所有者密码凭证授予,IAM 专家将其正确地诬蔑为“魔鬼”。
OpenID Connect API 的常见模式是三个步骤:
1) 获取代码
2) 获取令牌,如access_token
、refresh_token
和id_token
3) 获取包含用户名、电子邮件等声明的用户信息。
id_token 的架构,它是一个 JWT , 在 OpenID Connect 范围内定义,许多其他细节也是如此。
使用 OpenID Connect 的另一个原因是移动软件(至少 IOS 和 Android)的集中身份验证有一个安全的解决方案。Google 定义的当前最佳实践是使用新的安全功能来阻止移动应用程序在 Web 视图中查看 cookie 或凭据。Google 发布了 AppAuth IOS 和 Android 库,因为他们真的不希望您泄露 Google 凭据!在撰写本文时,有几个 OpenID 提供程序(又名 IDP 的...)支持 Google OpenID Connect AppAuth 软件,包括:Google、OKTA、Ping 和我的产品 Gluu。
也可以看看:
- 原生应用程序的 OAuth 2.0 draft-wdenniss-oauth-native-apps-02
- IOS 的 AppAuth
- 适用于 Android 的 AppAuth