首页 文章

Oauth2用于授权和身份验证?

提问于
浏览
2

Oauth2可以用于授权和身份验证吗?

据我了解,Oauth2授权消费者应用程序从提供商(例如Facebook,Google,Twitter等)访问用户信息 .

但是Oauth2可以用来验证用户吗?例如,假设我们有一个由本机移动前端和后端api组成的应用程序 - 可以使用Oauth2来验证和维护来自Facebook,Google,Twitter等提供商的授权之上的身份验证吗?

如果有,怎么样?例如,我们是否持久化auth令牌并将其用作会话令牌?或者是否需要OpenId Connect才能通过第三方提供商向"consumer"应用程序验证用户身份?

1 回答

  • 4

    符合规范的表单中的OAuth 2.0不能用于用户身份验证 . 话虽如此,可以开发OAuth 2.0的扩展,允许用户身份验证 . 一些提供商,例如Facebook,已经做到了这一点 .

    但是,还有一个OAuth 2.0的标准化扩展,允许用户身份验证,称为OpenID Connect . 如果您想以标准化方式通过第三方提供商向消费者应用程序验证用户,则确实需要OpenID Connect . OpenID Connect的令牌格式是JWT,令牌本身称为 id_token . 您可以使用 id_token 作为会话令牌 .

    有关OAuth 2.0和用户身份验证的大量文章,请参阅http://oauth.net/articles/authentication/

相关问题