IdentityServer4 接口说明

摘要:
在.netcore出来以后很多人使用identityServer做身份验证。ids4和ids3的token验证组件都是基于微软的oauth2和bearer验证组件。   "authorization_endpoint":"http://localhost:5000/connect/authorize",授权服务器的授权端点的URL。"check_session_iframe":"http://localhost:5000/connect/checksession",客户端对check_session_iframe执行监视,可以获取用户的登出状态。"revocation_endpoint":"http://localhost:5000/connect/revocation",这个网址允许撤销访问令牌。"backchannel_logout_supported":true,指示OP支持后端通道注销"backchannel_logout_session_supported":true,可选的。指定RP是否需要在注销令牌中包含sid声明,以在使用backchannel_logout_uri时用OP标识RP会话。"subject_types_supported":["public"],  JSON数组,包含此OP支持的主题标识符类型列表。

在.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支持的主题标识符类型列表。 有效值是pairwisepublic.类型。更多信息."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

免责声明:文章转载自《IdentityServer4 接口说明》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Acer电脑【no bootable device】引导修复Linux中往文件中的某行插入数据 以及 行列转化的做法(paste、xargs等)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JS反混淆——构造可知DeviceToken、nouce与token

清空所有cookies后打开任意一本书的详情页,打开控制台中的Network。如下图所示,浏览器发出的第一个XHR请求为/bind,其中DeviceToken,nonce,Token均为POST中提交的数据。 找到访问网页的请求,如下图所示,返回头中没有出现set-cookie字段,可以判断DeviceToken,nonce,Token均为js生成的。...

HDFS之五:Hadoop 拒绝远程 9000 端口访问

最近学习Hadoop 时发现在本机访问 hadoop 9000 端口没有问题,但是远程机器访问 9000端口时不能访问,通过telnet 命令诊断发现发现无法访问端口,经过网上搜索解决方案结合自己实践,总结解决办法一般有以下几点。 首先,利用netstat -tpnl查看的端口开放情况 下图中9000端口只能本机访问 下图中的9000端口可以通过192....

NodeJs使用jwt生成token以及使用express-jwt校验和解密token

/注:校验token,获取headers⾥里里的Authorization的token方法,要写在路由加载之前,静态资源之后 app.use(expressJWT({   secret: PRIVATE_KEY }).unless({   path: ['/api/user/register','/api/user/login'] //⽩白名单,除了了这⾥...

Elasticsearch 查看token分析过程

有时候我们在使用Es作为搜索分析的时候,得出的结果并不是我们想要的,这时候我们会查询一下Es会怎么拆解我们的字符,这里就可以用到Es的_analyze查看一下分解的token。 使用教程 GET /_analyze? { "analyzer": "standard", "text": "orJ2t4r8Rlgz-988Y947mMas5zuU"...

微信公众号开发系列-获取微信OpenID

在微信开发时候在做消息接口交互的时候须要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID。接收事件推送方式和网页授权获取用户基本信息方式获取。 1、通过接收被动消息方式获取OpenId(接收事件推送方式)。下面事件中都能够获取到OpenID 关注/取消关注事件 用户在关注与取消关注公众号时。微信会把这个事件推送到开发人员填...

在TOMCAT下配置工程的默认访问设置(转)

对工程的部署一般是将工程的压缩文件放在tomcat安装目录的webapps下,访问时通过键入:http://localhost:8080/xx(假定为本机访问,xx是部署时的应用工程的访问名字)。 而如果直接键入:http://localhost:8080出来的将是tomcat自带的欢迎页面,如何让键入http://localhost:8080出来的是自己...