# 基于springboot starter的山东省统一身份认证平台-单点登录标准对接实现
## 预备知识
- 仔细阅读 `山东省统一身份认证平台-单点登录标准对接规范V1.4.pdf`
- 在网上搜索 springboot starter 制作步骤与注意问题
- 了解ruoyi-vue项目
## 理解登录流程
- 页面上有一个登录按钮,点击后跳转到 山东省统一身份认证平台的登录页面,这个登录url地址是根据相关参数拼接而成的
- 用户在山东省统一身份认证平台登录成功后,会重定向到回调地址,并传递一个ticket字符串,我们的程序接收这个ticket。
- 我们的程序分为前后端分离应用和不分离应用。如果是不分离应用,则后台代码直接处理回调,进行登录。如果是前后端分离应用,则山东省统一身份认证平台会重定向到前端(vue,react,nuxt.js,next.js )应用,由前端应用处理回调,一般是将ticket提交到后端处理。后面的介绍都是指前后端分类程序。
- 接收到的 ticket,向山东省统一身份认证平台发起POST请求(应该是application/x-www-form-urlencoded),从返回数据中解析出 令牌token。
- 根据令牌token获取法人或者自然人用户详细的信息后,我们的程序可以进行登录。
## starter的使用方式
- starter 默认使用 application.yml 存放 app_id、private_key、app_word.
- 可以自己实现一个 AuthenticationConfigurationProvider 接口,从数据库中读取app_id、private_key、app_word。
- 具体使用方式参考 gitee上的 [山东省统一身份认证平台接口](https://gitee.com/husb/shan-dong-unified-auth)。
- 有问题请联系邮箱: 954219492@qq.com