zoukankan      html  css  js  c++  java
  • OIDC-Open ID Connect

    OpenID Connect的简称,OIDC=(Identity, Authentication) + OAuth 2.0。它在OAuth2上构建了一个身份层,是一个基于OAuth2协议的身份认证标准协议。我们都知道OAuth2是一个授权协议,

    EU:End User:一个人类用户。
    RP:Relying Party ,用来代指OAuth2中的受信任的客户端,身份认证和授权信息的消费方;
    OP:OpenID Provider,有能力提供EU认证的服务(比如OAuth2中的授权服务),用来为RP提供EU的身份认证信息;
    ID Token:JWT格式的数据,包含EU身份认证的信息。
    UserInfo Endpoint:用户信息接口(受OAuth2保护),当RP使用Access Token访问时,返回授权用户的信息,此接口必须使用HTTPS。

    RP发送一个认证请求给OP;
    OP对EU进行身份认证,然后提供授权;
    OP把ID Token和Access Token(需要的话)返回给RP;
    RP使用Access Token发送一个请求UserInfo EndPoint;
    UserInfo EndPoint返回EU的Claims。


    IDToken 授权服务器提供的包含用户信息(由一组Cliams构成以及其他辅助的Cliams)的JWT格式的数据结构


    iss = Issuer Identifier:必须。提供认证信息者的唯一标识。一般是一个https的url(不包含querystring和fragment部分)。
    sub = Subject Identifier:必须。iss提供的EU的标识,在iss范围内唯一。它会被RP用来标识唯一的用户。最长为255个ASCII个字符。
    aud = Audience(s):必须。标识ID Token的受众。必须包含OAuth2的client_id
    exp = Expiration time:必须。过期时间,超过此时间的ID Token会作废不再被验证通过。
    iat = Issued At Time:必须。JWT的构建的时间。
    auth_time = AuthenticationTime:EU完成认证的时间。如果RP发送AuthN请求的时候携带max_age的参数,则此Claim是必须的。
    nonce:RP发送请求的时候提供的随机字符串,用来减缓重放攻击,也可以来关联ID Token和RP本身的Session信息。
    acr = Authentication Context Class Reference:可选。表示一个认证上下文引用值,可以用来标识认证上下文类。
    amr = Authentication Methods References:可选。表示一组认证方法。
    azp = Authorized party:可选。结合aud使用。只有在被认证的一方和受众(aud)不一致时才使用此值,一般情况下很少使用。

    兼容众多的已有的IDP(身份提供商),比如基于SAML的、基于WS-Federation的等等已有的身份认证系统,都可以作为OIDC的OP存在。总结一下OIDC有那些特性和好处吧:
    OIDC使得身份认证可以作为一个服务存在。
    OIDC可以很方便的实现SSO(跨顶级域)。
    OIDC兼容OAuth2,可以使用Access Token控制受保护的API资源。
    OIDC可以兼容众多的IDP作为OIDC的OP来使用。
    OIDC的一些敏感接口均强制要求TLS,除此之外,得益于JWT,JWS,JWE家族的安全机制,使得一些敏感信息可以进行数字签名、加密和验证,进一步确保整个认证过程中的安全保障。

  • 相关阅读:
    OEM中无法用sys用户登录
    intra blcok chain(转)
    _b_tree_bitmap_plans的一次使用
    内存之私有sql区和共享sql区
    UNIX环境C语言信号
    UNIX环境C语言进程管理、进程间通信
    【转】显示JavaScript函数调用堆栈的方法
    【转】Java内存溢出(java.lang.OutOfMemoryError)问题及其解决方法
    JavaScript日期格式化方法
    Maven导入本地Jar总结
  • 原文地址:https://www.cnblogs.com/ingstyle/p/11670089.html
Copyright © 2011-2022 走看看