V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
monkeyk
V2EX  ›  问与答

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

  •  
  •   monkeyk · 2016-10-09 13:48:12 +08:00 · 1865 次点击
    这是一个创建于 2756 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5596 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 06:05 · PVG 14:05 · LAX 23:05 · JFK 02:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.