一、什么是IdentitySever4?
IdentityServer4可以做什么
认证授权
(1)客户端认证控制API
(2)密码认证方式控制API
(3)添加外部认证支持
二、如何创建IdentitySever4授权服务器
1.创建一个aspnetcore的一个空项目
2.载入IdentitySever4组件
3.创建一个config.cs的一个类
4.该类要实现四个方法
5.修改Startup如下
6.认证和授权方式的配置
这时候我们需要对config.cs里的几个方法来进行填充。
(1).【非必要】GetIdentityResources这个方法是来规范tooken生成的规则和方法的。一般不进行设置,直接采用默认的即可。
对应到startup里面就是
(2).【必要】GetApiResource这个方法是来描述和阐述,提功授权的接口名称和接口的介绍
对应到startup里面就是
(3).【必要】GetClients这个方法是设置认证和授权的方式和方法的
对应到startup里面就是
(4).【必要】我这里没做用户持久化,就从内存里面载入用户信息,并用GetUsers这个方法是设置用户信息的地方,即用户信息表
对应到startup里面就是
7.查看IdentitySever4的概况
http://localhost:5000/.well-known/openid-configuration
三、如何配置IdentitySever4服务到应用API服务器上
1. 如何配置该IdentitySever4到API服务上
(1)创建一个aspnetcore的API的项目
(2)修改startup如下
2. 如何对API进行授权限制
到这里API服务器的认证授权已全部完成。
四、客户端如何请求获取授权tooken
客户端如何获取到授权的tooken
根据IdentitySever4里面的clent的配置的参数进行请求
实现单点登陆 SSO,大神原理解析,链接:https://www.ppkanshu.com/index.php/post/2757.html