• IdentityServer4 接口说明


    在.net core出来以后很多人使用identityServer做身份验证。

    ids4和ids3的token验证组件都是基于微软的oauth2和bearer验证组件。园子里也很多教程,我们通过教程了解到is4有一个discovery endpoint。

    顾名思义,Discovery定义了一个服务发现的规范,它定义了一个api( /.well-known/openid-configuration ),这个api返回一个json数据结构,其中包含了一些OIDC中提供的服务以及其支持情况的描述信息,这样可以使得oidc服务的RP可以不再硬编码OIDC服务接口信息。这个api返回的示例信息如下(这里面只是一部分)。 

    复制代码
    {
        "issuer": "http://localhost:5000",发行网址,也就是说我们的权限验证站点。
    "jwks_uri": "http://localhost:5000/.well-known/openid-configuration/jwks",这个接口获取的是公钥,用于验证jwt的数字签名部分(数字签名由sso维护的私钥生成)用的。   
    "authorization_endpoint": "http://localhost:5000/connect/authorize",授权服务器的授权端点的URL。
    "token_endpoint": "http://localhost:5000/connect/token",获取token的网址
    "userinfo_endpoint": "http://localhost:5000/connect/userinfo",根据token获取用户信息
    "end_session_endpoint": "http://localhost:5000/connect/endsession",登录注销。

       "check_session_iframe": "http://localhost:5000/connect/checksession",客户端对check_session_iframe执行监视,可以获取用户的登出状态。

       "revocation_endpoint": "http://localhost:5000/connect/revocation", 这个网址允许撤销访问令牌(仅access tokens 和reference tokens)。它实现了令牌撤销规范(RFC 7009)。

       "introspection_endpoint": "http://localhost:5000/connect/introspect", introspection_endpoint是RFC 7662的实现。 它可以用于验证reference tokens(或如果消费者不支持适当的JWT或加密库,则JWTs)。

       "frontchannel_logout_supported": true, 可选。基于前端的注销机制。

      "frontchannel_logout_session_supported": true,
    可选。基于session的注销机制。
      "backchannel_logout_supported": true, 指示OP支持后端通道注销

      "backchannel_logout_session_supported": true, 可选的。指定RP是否需要在注销令牌中包含sid(session ID)声明,以在使用backchannel_logout_uri时用OP标识RP会话。如果省略,默认值为false。

      "scopes_supported": [ "api", "offline_access" ], 支持的范围

      "claims_supported": [], 支持的claims
      "grant_types_supported": [ "authorization_code", "client_credentials", "refresh_token", "implicit" ], 授权类型

      "response_types_supported": [ "code", "token", "id_token", "id_token token", "code id_token", "code token", "code id_token token" ],
      支持的请求方式
      "response_modes_supported": [ "form_post", "query", "fragment" ],
      传值方式
      "token_endpoint_auth_methods_supported": [ "client_secret_basic", "client_secret_post" ],
      JSON数组,包含此令牌端点支持的客户端身份验证方法列表。
      "subject_types_supported": [ "public" ],
      JSON数组,包含此OP支持的主题标识符类型列表。 有效值是 pairwise 和 public.类型。 更多信息.
      "id_token_signing_alg_values_supported": [ "RS256" ],
      
      "code_challenge_methods_supported": [ "plain", "S256" ]
      JSON数组,包含此授权服务器支持的PKCE代码方法列表。
    }
    复制代码
    
    
    相关链接:
    OpenID Connect & OAuth 2.0 API

    OpenID Connect Back-Channel Logout 1.0 - draft 04
  • 相关阅读:
    java实现第三届蓝桥杯数量周期
    java实现第三届蓝桥杯数量周期
    java实现第三届蓝桥杯数量周期
    java实现第三届蓝桥杯排日程
    java实现第三届蓝桥杯排日程
    java实现第三届蓝桥杯排日程
    java实现第三届蓝桥杯排日程
    java实现第三届蓝桥杯排日程
    使用UE配置Python编程环境
    常用的UltraEdit使用技巧
  • 原文地址:https://www.cnblogs.com/lhxsoft/p/11772018.html
Copyright © 2020-2023  润新知