【springboot+vue项目(十四)】基于Oauth2的SSO单点登录(一)整体流程介绍

场景:现在有一个前后端分离的系统,前端框架使用vue-element-template,后端框架使用springboot+springSecurity+JWT+Redis(登录部分)现在需要接入到已经存在的第三方基于oauth2.0的非标准接口统一认证系统。
温馨提示:如果是接入到基于oauth2.0的标准接口的认证服务系统,可以直接使用spring-boot-starter-oauth2-client)参考:超级简单的springboot整合springsecurity oauth2第三方登录_spring-boot-starter-oauth2-client 实现登出-CSDN博客

整体的流程大概为:

  1. 用户请求访问应用系统的前端。
  2. 重定向到应用系统的后端。
  3. 应用系统后端将认证请求发送到认证服务器,认证服务器判断是否认证,如果没有认证过,则重定向到认证登录页面进行统一认证。
  4. 认证成功后,重定向到应用系统后端指定URL,并返回code。
  5. 应用系统后端根据返回的code请求认证服务器获取access_token和refresh_token。
  6. 应用系统根据返回的access_token请求认证服务器获取用户信息。
  7. 应用系统的后端根据用户信息生成token返回前端,
  8. 应用系统前端接受token并持久化,调用userinfo请求后端 接口,获取用户信息
  9. 后端验证解析token,将用户信息返回前端。
  10. 登录到应用系统主页。
    温馨提示:此过程为大概流程,后面将分前端和后端部分详细介绍如何 改造原项目。
相关推荐
心连欣38 分钟前
解锁对象遍历:当字符串遇上for...in循环
前端·javascript
Sestid41 分钟前
前端Cursor使用指南(后续会更新Claude)
前端·claude·cursor
戴维南1 小时前
LangChain 在 Agent 开发中的定位:10 个模块(含代码对比,耳机售后案例)
前端
希望永不加班1 小时前
SpringBoot 事件机制:ApplicationEvent 与监听器
java·开发语言·spring boot·后端·spring
ouzz1 小时前
使用纯canvas绘制一个掘金首页
前端·canvas
用户6957584491281 小时前
Vue 3 响应式系统:解构赋值与依赖收集的正确姿势
前端
乐乐同学yorsal1 小时前
一个 TypeScript 写的图片视频处理工具箱,吊打一切付费软件!
前端·命令行
账号已注销free1 小时前
Vue3项目中给组件命名的方式
vue.js
前端那点事1 小时前
VueUse 全面指南|Vue3组合式工具集实战
vue.js
lzhdim1 小时前
SQL 入门 10:SQL 内置函数:数值、字符串与时间处理
前端·数据库·sql