文章内容
2020/10/11 17:18:42,作 者: 黄兵
JPProject.IdentityServer4.AdminUI部署
目录:
- JPProject.IdentityServer4.SSO项目介绍
- JPProject.IdentityServer4.SSO数据库还原
- Ubuntu部署Jp项目
- JPProject.IdentityServer4.AdminUI部署
上一节讲了在Ubuntu上部署Jp.Api.Management和对应的前端项目,这一节讲JPProject.IdentityServer4.AdminUI项目的部署。
JPProject.IdentityServer4.AdminUI项目是IdentityServer4的管理员面板,可以管理客户端,Api资源,身份资源等。
这个对于我们全面了解IdentityServer4的相关参数,是一个很好的项目,关键是还提供中文,关于如何将界面设置成中文,在下面详细讲解。
JPProject.IdentityServer4.AdminUI项目分为两个版本:完整版和轻便版。
完整版实现了所有功能,轻便版少了用户、身份管理、SSO相关设置等。
下面是一个完整版左边菜单的截图:
轻便版之后上面红框中的内容。
既然是学习,那就设置成完整版的。
将JPProject.IdentityServer4.AdminUI项目克隆下来之后,也是分为前后端,如下图所示:
后端是精简过的API接口,所以不用管。
前端依然是Angular 8写的项目,将前端的Jp.AdminUI
文件夹通过WebStorm打开,找到这个路径的文件:src/environments/environment.prod.ts
修改相关uri参数:
export const environment = { production: true, ResourceServer: "https://accounts.domain-name.com/", IssuerUri: "https://passport.domain-name.com", RequireHttps: true, Uri: "https://management.domain-name.com", defaultTheme: "C", version: "3.0.3" };
这里ResourceServer
是上一节部署Jp.Api.Management项目的API地址,IssuerUri
是SSO的地址,后面一个Uri
没有太大作用,是Angular项目的地址,这里依然使用上一节的地址,主要是上一节的项目功能太少了,前端不再使用,同时这个项目也与上一个项目功能部分重合,所以最后决定统一用这个项目。
修改完成之后在终端输入ng build --prod
发布。
发布完成之后将dist整个文件夹复制到Ubuntu服务器,之后设置nginx,可以参考项目里面的nginx配置:
server { listen 80; sendfile on; default_type application/octet-stream; gzip on; gzip_http_version 1.1; gzip_disable "MSIE [1-6]\."; gzip_min_length 1100; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_comp_level 9; root /usr/share/nginx/html; location / { try_files $uri $uri/ /index.html; } }
可以根据需求更改。
之后访问https://management.domain-name.com,输入用户名密码登录,这里应用官方的一张动图:
可以看到功能很多,可以自己慢慢学习。
下面说说关于将项目设置成中文的方法:
点击设置->最下面language->选择中文,截图如下:
通过相关设置的提示,你可以了解一些具体参数的含义,鼠标放到提示上面,给出了很详细的解释,截图如下:
虽然翻译的不是很好,但是大概可以了模型字段的意思,也为后面二次开发奠定了稳定的基础。
同时这个项目也可以作为统一认证平台使用。
文档和部署方式都很全面,同时项目也附带了正式上线后的nginx优化配置,可以说是学习IdentityServer4不可多得的一份资料。
关于这个项目的一个大概介绍到这里就结束了,如果后面项目中遇到需要二次开发以及需要使用这个项目进行身份认证,再继续补充。
大家有任何问题欢迎讨论,希望自己也能为这个项目贡献出自己的一份💪
黄兵个人博客原创。
评论列表