Identityserver4 端点(接口)说明

目录

  • Identityserver4 端点(接口)说明
    • 发现端点
      • token端点
      • 用户信息端点
      • 自检端点
    • 参考文献

Identityserver4 端点(接口)说明

发现端点

Url:
/.well-known/openid-configuration

字段 说明 示例
issuer 发行网址,也就是说我们的权限验证站点 https://demo.identityserver.io
jwks_uri 这个接口获取的是公钥,用于验证jwt的数字签名部分(数字签名由sso维护的私钥生成)用的 https://demo.identityserver.io/.well-known/openid-configuration/jwks
authorization_endpoint 授权服务器的授权端点的URL https://demo.identityserver.io/connect/authorize
token_endpoint 获取token的网址 https://demo.identityserver.io/connect/token
userinfo_endpoint 根据token获取用户信息 https://demo.identityserver.io/connect/userinfo
end_session_endpoint 登录注销 https://demo.identityserver.io/connect/endsession
check_session_iframe 客户端对check_session_iframe执行监视,可以获取用户的登出状态 https://demo.identityserver.io/connect/checksession
revocation_endpoint 这个网址允许撤销访问令牌(仅access tokens 和reference tokens)。它实现了令牌撤销规范(RFC 7009) https://demo.identityserver.io/connect/revocation
introspection_endpoint introspection_endpoint是RFC 7662的实现。 它可以用于验证reference tokens(或如果消费者不支持适当的JWT或加密库,则JWTs)。 https://demo.identityserver.io/connect/introspect
device_authorization_endpoint 设备授权网址 https://demo.identityserver.io/connect/deviceauthorization
frontchannel_logout_supported 可选。基于前端的注销机制 true
frontchannel_logout_session_supported 可选。基于session的注销机制 true
backchannel_logout_supported 指示OP支持后端通道注销 true
backchannel_logout_session_supported 可选的。指定RP是否需要在注销令牌中包含sid(session ID)声明,以在使用backchannel_logout_uri时用OP标识RP会话。如果省略,默认值为false true
scopes_supported 支持的范围 [“openid”, “profile”, “email”, “api”, “api.scope1”, “api.scope2”, “scope2”, “policyserver.runtime”, “policyserver.management”, “offline_access”]
claims_supported 支持的claims [“sub”, “name”, “family_name”, “given_name”, “middle_name”, “nickname”, “preferred_username”, “profile”, “picture”, “website”, “gender”, “birthdate”, “zoneinfo”, “locale”, “updated_at”, “email”, “email_verified”]
grant_types_supported 授权类型 [“authorization_code”, “client_credentials”, “refresh_token”, “implicit”, “password”, “urn:ietf:params:oauth:grant-type:device_code”]
response_modes_supported 支持的响应模式 [“form_post”, “query”, “fragment”]
token_endpoint_auth_methods_supported token端点支持的身份验证方式 [“client_secret_basic”, “client_secret_post”]
id_token_signing_alg_values_supported 支持id token 里alg签名的值 [“RS256”]
subject_types_supported [“public”]
code_challenge_methods_supported 支持的代码质询方法 [“plain”, “S256”]
request_parameter_supported 支持的请求参数 true

token端点

获取token

请求类型: post 
地址 /connect/token
头部请求标签 CONTENT-TYPE application/x-www-form-urlencoded

请求数据(Body)

参数 说明
client_id 客户标识符(必填)
client_secret 客户端机密,可以在帖子正文中,也可以作为基本身份验证标头使用
grant_type 授权类型 :
授权码: authorization_code
客户端:client_credentials
用户密码: password
刷新令牌: refresh_token
补助类型: urn:ietf:params:oauth:grant-type:device_code
scope 一个或多个注册范围。如果未指定,将为所有明确允许的作用域发出令牌
redirect_uri grant_type 为 authorization_code时必填
code 授权码。 grant_type 为 authorization_code时必填
code_verifier PKCE证明密钥
username 登入名 。grant_type 为 password时必填
password 登入密码。grant_type 为 password时必填
acr_values 允许传递有关password授权类型的其他与身份验证相关的信息-特殊情况下,identityserver使用以下专有acr_values:idp:name_of_idp 绕过登录/家庭领域屏幕,并将用户直接转发到选定的身份提供者(如果每个客户端配置允许)tenant:name_of_tenant 可用于将租户名称传递给令牌端点
refresh_token 刷新令牌。grant_type 为 refresh_token时必填
device_code 设备代码。 grant_type 为 urn:ietf:params:oauth:grant-type:device_code时必填

用户信息端点

解析token获取token中用户的信息

请求类型: GET 
地址 /connect/userinfo
头部请求标签 Authorization: Basic xxxyyy

自检端点

用来验证授权的有效性

请求类型: POST 
地址 /connect/introspect
头部请求标签 Authorization: Bearer <access_token>

请求数据(Body)

参数 说明
token 必填

返回响应
状态码200和有效或无效的令牌示例:

{
    "active": true,
    "sub": "123"
}

未知或过期的令牌将被标记为无效示例:

{
     "active": false,
}

无效的请求将返回400,即未授权的请求401。

参考文献

https://blog.csdn.net/weixin_30536513/article/details/96440353
https://identityserver4.readthedocs.io/en/latest/endpoints/discovery.html

你可能感兴趣的:(.NET,其他,c#,.net,其他)