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

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

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

相关文章

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文件 建议 400X400

3.favicon 替换
# public/favicon.ico 替换该目录下文件即可

4.默认头像(未设置头像下的默认图)
  src/image/profile.jpg
5.登录页背景图
  src/image/login-background.jpg
  
上一篇:②CAS SSO单点登录服务端环境搭建之源码深度分析


下一篇:cookie在二级域名间共享完成sso