小强统一认证中心-项目工程介绍
统一认证中心-项目工程介绍
在 上一篇文章
介绍了小强统一认证中心的功能点。本文主要讲解项目工程
相关文章
- 统一认证中心简介
- 多平台部署实例
1.源码地址
源码地址:传送门
2.后端工程介绍
2.1工程模块介绍
工程模块 | 名称 | 备注 |
---|---|---|
sso-auth-center-service | 父工程 | 定义统一依赖版本等 |
sso-auth-center-admin | 后台web,统一开放网关 | boot项目,后台controller层 |
sso-business | dao与业务层 | dao层,service层 |
sso-common | 公共部分 | 工具类、常量类、注解、枚举、业务自定义异常 |
sso-framework | 核心配置 | 数据源配置、redis配置、验证码、统一异常处理 等 |
2.2分模块介绍
2.3开放接口
接口位置:com.sso.controller.getway.OpenApiController#gateway
网关设计详见:Java系统开放接口统一网关设计
2.4开放接口文档
注:这里是子系统对接认证中心的开放接口。
请求地址:/open/gateway
请求方式:post
Content-Type:application/json;charset=UTF-8
入参:
参数名称 | 含义 | 类型 | 是否必填 | 备注 |
---|---|---|---|---|
apiRequestId | 请求标识 | String | 必填 | 要求唯一,推荐使用UUID |
sysCode | 系统编码 | String | 必填 | 系统的唯一编码,多环境可加后缀区分。 |
method | 请求方法名 | String | 必填 | 申请认证接口固定值:com.sso.applyAuth |
version | 版本 | String | 必填 | 固定值 1.0 |
timestamp | 时间戳 | String | 必填 | 当前时间戳,13位格式,要求5分钟以内可通过 |
signType | 签名类型 | String | 非必填 | 1-MD5 2-RSA |
注:若在认证中心配置了验签则必填 | ||||
sign | 签名内容 | String | 非必填 | 签名内容 |
注:若在认证中心配置了验签则必填 | ||||
content | 业务参数JSON | String | 非必填 | {“ssoToken”:""} |
content参数
参数名称 | 含义 | 类型 | 是否必填 | 备注 |
---|---|---|---|---|
ssoToken | token值 | String | 非必填 | 无token则返回认证中心登录地址 |
redirectUrl | 跳转地址 | String | 非必填 | 授权登录成功后跳转的地址 |
loginOutUrl | 退出登录地址 | String | 非必填 | 当前注册上来的子系统退出登录地址 |
menuType | 菜单类型 | String | 非必填 | 系统的唯一编码,多环境可加后缀区分。 |
返参:
公共参数
参数名称 | 含义 | 类型 | 是否必填 |
---|---|---|---|
code | 状态码 | String | 必填 |
data | 业务参数内容 | Object | 必填 |
msg | 描述 | String | 必填 |
申请认证业务参数
参数名称 | 含义 | 类型 | 是否必填 | 备注 | |
---|---|---|---|---|---|
authResult | 认证结果 | boolean | 是 | 是否成功 | |
redirectUrl | 跳转地址 | String | 非必填 | authResult为false时返回 | |
userId | 用户ID | Long | 非必填 | authResult为true,认证成功时返回 | |
username | 用户登录名 | String | 非必填 | ||
nickName | 用户昵称 | Sting | 非必填 | ||
realName | 真实姓名 | String | 非必填 | ||
avatar | 头像地址 | String | 非必填 | ||
sex | 用户性别0-男;1-女;2-未知 | String | 非必填 | ||
phone | 手机号码 | String | 非必填 | ||
邮箱 | String | 非必填 | |||
sysCode | 系统编码 | String | 非必填 | ||
sysName | 系统名称 | String | 非必填 | ||
permissionList | 在当前系统下的-权限列表 | String [] | 非必填 | ||
roleKeyList | 在当前系统下的-角色标识 | String [] | 非必填 | ||
menuList | menuId | 菜单ID | Long | 菜单信息 | |
menuName | 菜单名称 | String | |||
menuParentId | 父菜单ID | Long | |||
menuType | 菜单类型(M目录 C菜单 F按钮) | String | |||
sortNum | 显示顺序 | Integer | |||
path | 菜单路由地址 | String | |||
icon | 菜单图标 | String | |||
component | 组件路径 | String | |||
visible | 是否显示 0-显示;1-隐藏 | Integer |
调用示例:
- 认证失败返回子登录地址
调用示例:
- 认证成功返回用户信息+菜单权限信息
2.5签名规则
子系统调用申请认证接口时,加签验证逻辑。
以此来保证通讯信息的安全和完整。接口支持MD5和RSA两种方式签名。
签名原文串:
将提交的接口参数按参数名字母顺序(升序、区分大小写)、以&符逐个拼接参数名=参数值而形成,
移除不参与验签的参数 sign, signType
注:空值或全空串参数无需移除。(可参考样例代码)
- MD5方式,须在签名原文串后面拼上&secret=xxSecret后进行MD5加签,xxSecret为在认证中心后台添加的秘钥串
- RSA方式,子系统用私钥进行加签,认证中心用公钥进行验签;(公钥需要配置到认证中心后台-在平台详情出配置)
3.前端Vue工程介绍
3.1前端页面运行
# 进入项目目录
cd sso-auth-center-vue# 安装依赖
npm install# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org# 启动服务
npm run dev
浏览器访问 http://localhost:9528
3.2前端页面打包发布
# 构建测试环境
npm run build-test# 构建生产环境
npm run build-prod
3.3页面使用接入指南
1.更改公司名称
全局搜索 “小强认证中心” 替换为您的公司名称2.LOGO 替换
# src/assets/logo/logo.png 替换为您的logo文件 建议 400X4003.favicon 替换
# public/favicon.ico 替换该目录下文件即可4.默认头像(未设置头像下的默认图)src/image/profile.jpg
5.登录页背景图src/image/login-background.jpg
关注程序员小强公众号更多编程趣事,知识心得与您分享
小强统一认证中心-项目工程介绍相关推荐
- 十九.激光和惯导LIO-SLAM框架学习之项目工程代码介绍---代码框架和一些文件解释
专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...
- 六.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---4.laserMapping.cpp--后端建图和帧位姿精估计(优化)
专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...
- 五.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---3.laserOdometry.cpp--前端雷达里程计和位姿粗估计
专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...
- 四.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---2.scanRegistration.cpp--前端雷达处理和特征提取
专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...
- 【复杂系统迁移 .NET Core平台系列】之迁移项目工程
源宝导读:微软跨平台技术框架-.NET Core已经日趋成熟,已经具备了支撑大型系统稳定运行的条件.本文将介绍明源云ERP平台从.NET Framework向.NET Core迁移过程中的实践经验. ...
- 电商项目的介绍及其框架搭建
文章目录 电商项目的介绍及其框架搭建 一.项目介绍 二.项目架构缩略图 三.系统架构说明 四.项目搭建 4.1 技术选型 4.2 开发环境 4.3 域名 五.后台环境的搭建 5.1 创建统一的父工程: ...
- css网页设计实例代码_大型电商平台设计实例:电商平台项目工程、数据库选型、代码库...
电商平台微服务体系架构 经过一系列的微服务设计, 下面使用一张维导图完整表示这个电商平台的微服务架构设计模型,如图 3-6 示. 这是一个为简单的电商平台微服务架构设计模型,并且使用了粗粒度的微服务划 ...
- 分析vue-cli@2.9.3 搭建的webpack项目工程
前言 已经有很多分析Vue-cli搭建工程的文章,为什么自己还要写一遍呢.学习就好比是座大山,人们沿着不同的路登山,分享着自己看到的风景.你不一定能看到别人看到的风景,体会到别人的心情.只有自己去登山 ...
- .NET 开源项目 StreamJsonRpc 介绍[下篇]
阅读本文大概需要 9 分钟. 大家好,这是 .NET 开源项目 StreamJsonRpc 介绍的最后一篇.上篇介绍了一些预备知识,包括 JSON-RPC 协议介绍,StreamJsonRpc 是一个 ...
- node工程默认url_node命令行工具之实现项目工程自动初始化的标准流程
一.目的 传统的前端项目初始流程一般是这样: 可以看出,传统的初始化步骤,花费的时间并不少.而且,人工操作的情况下,总有改漏的情况出现.这个缺点有时很致命. 甚至有马大哈,没有更新项目仓库地址,导致提 ...
最新文章
- HR与HRBP的区别
- JS 获取控件的绝对位置
- Bugku密码学(一)
- 乐高ev3涉及到的一些赛事_使您成为英雄的前五名开发者技能(提示:涉及LEGO)
- Android之下拉刷新的ListView
- python工程师干什么的_大数据开发工程师薪资待遇及招聘要求?
- 探秘ReSharper 8新功能——XAML编辑
- java接口的叙述正确的_下列关于接口的描述中,正确的是:
- html网页跟随滚轮变化,实现桌面和移动浏览器元素随页面滚动产生动画
- 控件多线程访问的问题
- IDEA导入一个项目
- DirectX9学习(四)装载位图
- ”在禁用UAC时,无法激活此应用“问题
- Java面试--观察者模式
- MATLAB椎体怎么画,最适合小白的matlab教程系列,进阶,一
- 运用php做程序,PHP编程在WAP开发中的运用
- xpad如何改变字体主题
- 蓝牙控制esp32单片机(三)
- Mysql关键字之Union all说明
- FlexHex分析MP4格式的文件