# ruoyi-sso-oauth2
**Repository Path**: xiaoweidumpb/ruoyi-sso-oauth
## Basic Information
- **Project Name**: ruoyi-sso-oauth2
- **Description**: 1.使用若依微服务,若依前后端分离版快速开发框架。
2.基于SpringBoot2.0+Element-Ui,支持前后端分离的oatuh2.0授权模式的单点登录系统。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 27
- **Forks**: 15
- **Created**: 2022-10-30
- **Last Updated**: 2025-09-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Java
## README
## 致谢
感谢若依快速开发框架(前后端分离版、微服务版),感谢smart-oatuh2项目,作者[Joe.zhou](https://blog.csdn.net/a466350665)
```
smart-oatuh2项目地址:https://gitee.com/a466350665/smart-sso
若依官网: http://doc.ruoyi.vip/
```
## 介绍
本项目使用Ruoyi-Vue和Ruoyi-Cloud,实现单点登录和oatuh2授权码模式,提供了前后端实现代码,对代码进行优化
使用redis、不受到二级域名cookie限制,支持分布式,对于第一次接触sso单点登录系统的人员有所帮助,借助本项目进行单点登录快速开发
### 关于单点登录一些总结
单点登录凭证传递方法总结:
1.直接在URL中传递认证信息,能跑就行(安全性有问题,截取认证信息,在任何计算机都能进行单点登录)。
2.在二级域名中设置cookie,安全性有保障,但是域名受限制。
3.模仿淘宝,利用iframe+postMessage跨域通信传递认证信息。
4.微博开发者平台将cookie存储在统一登录页面,进行页面回调。
尝试使用过的框架 1.CAS(前后端不分离、改造成本大)、2.xxl-sso(一个很好的单点登录实现框架)3.smart-oatuh2(本项目使用框架),因为业务需求,采取了微博开放者平台的页面跳转实现,如果需要模仿淘宝单点登录系统请使用iframe+postMessage
### 基于iframe+postMessage实现代码
```
客户端:嵌入统一登录页面
A系统统一登陆页面
```
```
统一登录页面:
登录按钮被点击,登录函数.then(() => {
window.parent.postMessage(“认证信息”,'http://client3.com:890/ssoLogin')
}
```
## 使用文档
https://blog.csdn.net/qq_43751489/article/details/127640796