网上又很多介绍,但是只是一般文章,可能也不会有更新。所以我以基本的类型建立了一个示例,会更新。
IdentityServer
IdentityServer4 是一个基于OpenID Connect和OAuth 2.0的针对ASP.NET Core 2.0的框架,以中间件的形式存在。
该插件主要是aspnetcore的重要插件,用于验证工作。
我们可以用IdentityServer来做什么?
- 身份验证服务:官方认证的OpenID Connect实现
- 单点登录/注销(SSO)
- 访问受控的API : 为不同的客户提供访问API的令牌,比如:MVC网站、SPA、Mobile APP等
- ...等等
文档信息
1.中文:http://www.identityserver.com.cn/
2.官方:https://www.identityserver.io/
3.官网文档:https://identityserver4.readthedocs.io/en/latest/intro/big_picture.html
授权类型
当前官方来类型:Client Credentials,Resource Owner Password Credentials,Authorization Code,mplicit
基本原理:
示例项目
项目:AuthServer
集成IdentityServer4 中间件,主要用于验证。使用了postgresql数据库查询数据库表。使用了EFCore访问数据库
项目:Api
用于访问的WebApi,通过IdentityServer4保护的API资源。
项目授权模式
HybridAndClientCredentials:官方没有的,组合自定义属于,但是扩展库已经提供了几种组合
API采用授权服务的方式
OpenID Connect
其它说明
1.再vs调试下,可能会有问题,生成之后直接运行。
2.用浏览器访问API。地址:https://localhost:2002/api/Identity
3. 访问API->cookie处理->访问IdentityServer4-》等录-》跳转
项目地址
https://github.com/jinyuttt/QuickstarAuthServer.git