3

Oauth2 可以用于授权认证吗?

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

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

如果是,如何?例如,我们是否将身份验证令牌持久化并将其用作会话令牌?或者通过第三方提供商向“消费者”应用程序验证用户是否需要 OpenId Connect ?

4

1 回答 1

5

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

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

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

于 2015-03-10T18:53:22.073 回答