统一认证中心-项目工程介绍

在 上一篇文章
介绍了小强统一认证中心的功能点。本文主要讲解项目工程

相关文章

  • 统一认证中心简介
  • 多平台部署实例

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 非必填
email 邮箱 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

关注程序员小强公众号更多编程趣事,知识心得与您分享

小强统一认证中心-项目工程介绍相关推荐

  1. 十九.激光和惯导LIO-SLAM框架学习之项目工程代码介绍---代码框架和一些文件解释

    专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...

  2. 六.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---4.laserMapping.cpp--后端建图和帧位姿精估计(优化)

    专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...

  3. 五.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---3.laserOdometry.cpp--前端雷达里程计和位姿粗估计

    专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...

  4. 四.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---2.scanRegistration.cpp--前端雷达处理和特征提取

    专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...

  5. 【复杂系统迁移 .NET Core平台系列】之迁移项目工程

    源宝导读:微软跨平台技术框架-.NET Core已经日趋成熟,已经具备了支撑大型系统稳定运行的条件.本文将介绍明源云ERP平台从.NET Framework向.NET Core迁移过程中的实践经验. ...

  6. 电商项目的介绍及其框架搭建

    文章目录 电商项目的介绍及其框架搭建 一.项目介绍 二.项目架构缩略图 三.系统架构说明 四.项目搭建 4.1 技术选型 4.2 开发环境 4.3 域名 五.后台环境的搭建 5.1 创建统一的父工程: ...

  7. css网页设计实例代码_大型电商平台设计实例:电商平台项目工程、数据库选型、代码库...

    电商平台微服务体系架构 经过一系列的微服务设计, 下面使用一张维导图完整表示这个电商平台的微服务架构设计模型,如图 3-6 示. 这是一个为简单的电商平台微服务架构设计模型,并且使用了粗粒度的微服务划 ...

  8. 分析vue-cli@2.9.3 搭建的webpack项目工程

    前言 已经有很多分析Vue-cli搭建工程的文章,为什么自己还要写一遍呢.学习就好比是座大山,人们沿着不同的路登山,分享着自己看到的风景.你不一定能看到别人看到的风景,体会到别人的心情.只有自己去登山 ...

  9. .NET 开源项目 StreamJsonRpc 介绍[下篇]

    阅读本文大概需要 9 分钟. 大家好,这是 .NET 开源项目 StreamJsonRpc 介绍的最后一篇.上篇介绍了一些预备知识,包括 JSON-RPC 协议介绍,StreamJsonRpc 是一个 ...

  10. node工程默认url_node命令行工具之实现项目工程自动初始化的标准流程

    一.目的 传统的前端项目初始流程一般是这样: 可以看出,传统的初始化步骤,花费的时间并不少.而且,人工操作的情况下,总有改漏的情况出现.这个缺点有时很致命. 甚至有马大哈,没有更新项目仓库地址,导致提 ...

最新文章

  1. HR与HRBP的区别
  2. JS 获取控件的绝对位置
  3. Bugku密码学(一)
  4. 乐高ev3涉及到的一些赛事_使您成为英雄的前五名开发者技能(提示:涉及LEGO)
  5. Android之下拉刷新的ListView
  6. python工程师干什么的_大数据开发工程师薪资待遇及招聘要求?
  7. 探秘ReSharper 8新功能——XAML编辑
  8. java接口的叙述正确的_下列关于接口的描述中,正确的是:
  9. html网页跟随滚轮变化,实现桌面和移动浏览器元素随页面滚动产生动画
  10. 控件多线程访问的问题
  11. IDEA导入一个项目
  12. DirectX9学习(四)装载位图
  13. ”在禁用UAC时,无法激活此应用“问题
  14. Java面试--观察者模式
  15. MATLAB椎体怎么画,最适合小白的matlab教程系列,进阶,一
  16. 运用php做程序,PHP编程在WAP开发中的运用
  17. xpad如何改变字体主题
  18. 蓝牙控制esp32单片机(三)
  19. Mysql关键字之Union all说明
  20. FlexHex分析MP4格式的文件

热门文章

  1. python春节对客流量的影响_春节对经济的影响
  2. php liger 表格排序,LigerUI中通过加载服务端数据进行表格的分页显示
  3. 计算机如何安装无线网络适配器,小编教你电脑无线网卡驱动怎么安装
  4. 2012服务器系统怎么安装sql,使用安装向导安装 SQL Server 2012(安装程序)
  5. margin padding是以什么为参照物
  6. JS实现【队列】插队功能
  7. jQuery fadeIn淡入的使用
  8. let与var的区别(重点看例子)
  9. 网站性能优化三大策略
  10. android 获取图片信息 之 ExifInterface