代码拉取完成,页面将自动刷新
在学习授权认证的过程中,发现了IdentityServer4框架。官方的例程大多是基于本地或者内存配置。没有一个完整的后台界面。github上有一些优秀的管理系统,大多都是基于MPA开发。于是基于.NET5和vue开发了这一套授权管理系统。
API地址:统一授权认证登录 客户端:vue客户端。管理界面
默认账户:admin/123456 云服务配置欠费,后面再购买部署.
待完善.....
最新功能在IdentityServer4_v4.0分支进行开发,请切换IdentityServer4_v4.0查看
git checkout IdentityServer4_v4.0
还原
//package.json文件.在项目目录下面。
//可以在vs【工具】-【选项】-【web包管理】-【程序包还原】里面设置保存时还原。vs会根据里面的版本自动下载
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"dependencies": {
"bootstrap": "4.6.0",
"jquery": "3.6.0"
},
"devDependencies": {
"gulp": "^4.0.2",
"gulp-watch": "5.0.1",
"gulp-concat": "2.6.1",
"gulp-clean-css": "^4.2.0",
"gulp-concat-css": "^3.1.0",
"gulp-less": "^4.0.1",
"gulp-rename": "^2.0.0",
"gulp-sourcemaps": "^2.6.5",
"gulp-uglify": "^3.0.2",
"del": "6.0.0"
}
}
数据迁移
采用EF完成orm功能。目前支持sqlserver和mysql两种功能。
注意:删除迁移数据库之前需要先删除已经生成的迁移Migrations文件夹。或者依次更新已经生成的Migration。
迁移数据库
#sqlserver 默认项目选择(WQLIdentity.Infra.Data)
Add-Migration InitialCreate -Context CustomConfigurationDbContext -OutputDir Migrations\Configuration\SqlServer
Add-Migration InitialCreate -Context CustomPersistedGrantDbContext -OutputDir Migrations\PersistedGrant\SqlServer
Add-Migration InitialCreate -Context ApplicationDbContext -OutputDir Migrations\Application\SqlServer
#mysql 默认项目选择(WQLIdentity.Infra.Data.Mysql)
Add-Migration InitialCreate -Context MysqlConfigurationDbContext -OutputDir Migrations\Configuration\Mysql
Add-Migration InitialCreate -Context MysqlPersistedGrantDbContext -OutputDir Migrations\PersistedGrant\Mysql
Add-Migration InitialCreate -Context MysqlApplicationDbContext -OutputDir Migrations\Application\Mysql
更新数据库
#sqlserver
update-database -context CustomConfigurationDbContext
update-database -context CustomPersistedGrantDbContext
update-database -context ApplicationDbContext
#mysql
update-database -context MysqlConfigurationDbContext
update-database -context MysqlPersistedGrantDbContext
update-database -context MysqlApplicationDbContext
生成种子数据
dotnet run seed //运行项目
dotnet WQLIdentityServerAPI.dll seed //运行程序
切换配置
{
"urls": "http://localhost:5001;https://localhost:5002",
"IdentityServer4": {
"authUrls": "http://localhost:5001",//swagger认证地址,如果nginx更改了,需要配置为服务端发布地址
"Audience": "IdentityServer4"
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
//切换数据库地址
"Settings": {
//mysql or sqlserver
"DatabaseType": "mysql",
//数据库连接字符串
"SqlServerConnection": "Server=.;Database=IdentityServer ;Trusted_Connection=True;MultipleActiveResultSets=true",
//"MySqlConnection": "Server=localhost;Port=3306;Database=IdentityServer;Uid=root;Pwd=xiucaibbx0528;"
"MySqlConnection": "Server=localhost;Port=3306;Database=IdentityServer;Uid=wql;Pwd=asdfghjkl;",
"UseMinProfiler": false //是否启用miniprofiler
}
}
前端使用 VUE cli3搭建
{
"authority": "http://47.119.119.183:8081",//认证地址
"clientId": "IdentityServer4", //认证客户端id
"redirectUri": "http://localhost:8082/oidc-callback",//回调地址
"popupRedirectUri": "http://localhost:8082/oidc-popup-callback", "responseType": "id_token token", //认证类型
"scope": "openid profile offline_access IdentityServer.API", "automaticSilentRenew": true,
"automaticSilentSignin": false,
"silentRedirectUri": "http://localhost:8082/silent-renew-oidc.html" , "post_logout_redirect_uri": "http://localhost:8082" //退出回调地址
}
npm install
npm run dev
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型