Sa-Token是国人开源的轻量级 Java 权限认证框架,功能包括:登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0等。项目遵守Apache2.0开源协议。

SSO 单点登录

Sa-Token SSO 分为三种模式,解决同域、跨域、共享Redis、跨Redis、前后端一体、前后端分离……等不同架构下的 SSO 接入问题:

系统架构 采用模式 简介 文档链接
前端同域 + 后端同 Redis 模式一 共享Cookie同步会话 文档示例
前端不同域 + 后端同 Redis 模式二 URL重定向传播会话 文档示例
前端不同域 + 后端 不同Redis 模式三 Http请求获取会话 文档示例

 

OAuth2 授权认证

Sa-Token-OAuth2 模块分为四种授权模式,解决不同场景下的授权需求

授权模式 简介
授权码(Authorization Code) OAuth2.0 标准授权步骤,Server 端向 Client 端下放 Code 码,Client 端再用 Code 码换取授权 Token
隐藏式(Implicit) 无法使用授权码模式时的备用选择,Server 端使用 URL 重定向方式直接将 Token 下放到 Client 端页面
密码式(Password) Client直接拿着用户的账号密码换取授权 Token
客户端凭证(Client Credentials) Server 端针对 Client 级别的 Token,代表应用自身的资源授权

源代码:https://github.com/dromara/Sa-Token