IdentityServer4关于多客户端和API的最佳实践【含多类型客户端和API资源,以及客户端分组实践】【上】
园子中关于IDSV的文章有很多,但是作为一个小白的我,始终不能跟随众大佬的步伐,遂写下这篇IDS的这篇最佳实践。
阅读本文前,你需要了解以下知识:
1) 了解什么是OAuth2?
参考文献:
2) 什么是OIDC?
3)什么是IDS4?
以及晓晨master的中文参考文档
雨夜朦胧的源码分析文档 http://www.cnblogs.com/RainingNight/p/introduce-basic-authentication-in-asp-net-core.html
BlackHeart的OIDC实战SSO
本文依赖的环境如下:
1)netcore2.1环境下的IDSV服务器
2)netcore2.1/netfx环境下对应的客户端接入服务器
3)netcore2.1/netfx环境下对应的验证服务器为1)
一)服务器接入MYSQL脚本设置以及对应表字段含义注解【非官方】
新建一个空白的.netcore应用网站,Nuget拉取以下dll包,IdentityServer4;IdentityServer4.EntityFramework;Microsoft.AspNetCore.All;
参考官方示例 ,将其中的Quickstart5_HybridAndApi对应服务端代码拷贝到自己的server中,解决方案截图如下
接下来,我们要做的第一步就是关于示例中api资源,标识资源以及token相关信息存储的数据库建表入库。
我这是使用EF的导入功能完成的。主要步骤包含以下:
1)首先添加如下这句话到对应的项目工程文件中
4)在服务器所在文件夹目录执行以下命令后
dotnet ef migrations add InitialIdentityServerPersistedGrantDbMigration -c PersistedGrantDbContext -o Data/Migrations/IdentityServer/PersistedGrantDb dotnet ef migrations add InitialIdentityServerConfigurationDbMigration -c ConfigurationDbContext -o Data/Migrations/IdentityServer/ConfigurationDb
此时将在解决方案中生成两个文件夹。