用于授权和身份验证的 Oauth2?

Oauth2 for Authorization and Authentication?

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

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

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

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

符合规范的 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/