OAuth 2.0和OpenID Connect

4
我的问题是,是否实现OAuth 2.0身份验证可以使我对OpenID Connect提供程序进行身份验证?
例如,Vert.x提供OAuth 2.0身份验证。如果实施了,是否足以启用对OpenID Connect提供程序进行身份验证?
谢谢。
3个回答

3
总的来说,是的,它足够了,因为OpenId Connect是OAuth 2.0规范的一个扩展。 OAuth 2.0和OpenId Connect的主要区别在于,在get-token请求的响应中,OAuth 2.0服务器最终发送access_token(通常是UUID字符串,但也可以是JWT),然后客户端应用程序可以使用它来访问OAuth 2.0服务器的(REST)API。对此API的调用超出了OAuth 2.0规范的范围(这就是为什么Facebook、Google和其他公司都有自己的OAuth连接器的原因)。
OpenId Connect提供程序最终会发送access_tokenid_token,后者被JWT包含并包含用户数据(名字、姓氏、电子邮件等)。或者,OpenId Connect提供程序可能不发送id_token,但期望调用UserInfo Endpoint以返回用户数据。
因此,您可以使用“原始”的OAuth 2.0客户端从OpenID Connect提供程序获取access_token。然后,您可以使用该令牌运行附加的HTTP请求到UserInfo Endpoint,解码数据并实现OpenId Connect功能。

1
是的,OpenID Connect是建立在OAuth 2.0之上并向后兼容的。因此,任何OAuth 2.0客户端库都可以对OIDC服务器进行身份验证,并使用标准OAuth 2.0访问令牌从UserInfo Endpoint读取用户资料(如果需要)。

-2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接