OIDC–基于 OAuth2 的下一代身份认证授权协议

2016-10-09 13:48:12 +08:00
 monkeyk

OIDC(OpenID Connect), 下一代的身份认证授权协议; 当前发布版本 1.0;

OIDC 是基于 OAuth2+OpenID 整合的新的认证授权协议; OAuth2 是一个授权(authorization)的开放协议, 在全世界得到广泛使用, 但在实际使用中,OAuth2 只解决了授权问题, 没有实现认证部分,往往需要添加额外的 API 来实现认证; 而 OpenID 呢,是一个认证(authentication )的协议, 二者在实际使用过程中都有其局限性;

综合二者,即是 OIDC; 通过 OIDC,既能有 OAUTH2 的功能,也有 OpenID 的功能; 恰到好处…

OIDC 将是替换(或升级)OAuth2, OpenID 的不二选择..

OIDC 在 OAuth2 的 access_token 的基础上增加了身份认证信息; 通过公钥私钥配合校验获取身份等其他信息—– 即 idToken;

一个使用 JWT 生成的 idToken(base64):

eyJhbGciOiJSUzI1NiIsImtpZCI6IjM3MTc2NjA0OTExODEyNzkwNzgifQ.eyJpc3MiOiIxMTExIiwiYXVkIjoiMTExMSIsImF0X2hhc2giOiI4ZjgxYThjOS1jNWJiLTQwOWMtYjI0Ni1lMzEyZmUwYzM4NWMiLCJyZWdpc3RyYXRpb24iOiIxMjM0NTY3OCIsImV4cCI6MTQ2MzYyMjA4NiwianRpIjoiRnl5aGZOYnQtU0NLR2tpTWRGMVg2dyIsImlhdCI6MTQ2MzU3ODg4NiwibmJmIjoxNDYzNTc4ODI2LCJzdWIiOiJsc3otb2lkYyJ9.hDCcs8PISdwUPp6Eyd-9JCeeTJ2ZtscBeuPITIt43gMYbddiUBLC90uT9bxKe6e3awHels3asEMreFtlnlY09PwdCxXvhjYcEiXO_dnzqu-zQXESHzPEE6d1WsZUcbj6yxoxMh0laba24uu3CbqSRQbOrsYmh2_XA5Q5eP66iOajRUDhNXhmsWEL85jtL9_h0SyfRNPZ9C0mRu2x9YZTHT129O53ggqtjwQxrXLAbCd1dd35DyIztagqQWDpo3gFG7YseNEiQ6Mf2D6nIBU9llAqH4sTThq_ahME06qKENat_sxnmIJN2UHw7u0E08S-59oxtOY9winT78Qj5IfWJw

在 OIDC 协议的实现中, 其底层是基于 OAuth2. 一些常用的库如: JWT( https://jwt.io/), JWS; OAuth2 的实现如: Spring Security OAuth, OLTU.

更多信息可参考: http://openid.net/connect/

OIDC 1.0 协议: http://openid.net/specs/openid-connect-core-1_0.html

拥抱 OIDC …

https://andaily.com/blog/?p=440&cpage=1

1870 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/311357

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX