🔑 统一认证
- 统一认证采用
OAuth 2.0单点认证方式实现。
同时提供了 前台用户(如:
会员)、后台用户(如:管理员)多用户账户体系认证,会话、授权数据分别独立保存。
OAuth 2.0 认证授权
- 支持
授权码模式authorization_code、密码模式password、刷新令牌refresh_token三种认证方式。 - 一个接入客户端允许配置多个回调地址
(逗号隔开),支持回调地址正则模糊匹配。 - 同时支持帐号密码登录、短信验证码登录、邮箱验证码登录、扫码登录等多种登录方式。
支持
同一账号登录互斥功能,可能通过配置开关控制登录是否互斥。
- 关闭登录账号互斥
(默认),同一个账号允许多个``客户端(如:电脑 浏览器、平板浏览器、微信网页、微信小程序、APP等)登录并同时保持在线。- 开启登录账号互斥,一个用户只允许在
一个``客户端(如:电脑 浏览器、平板浏览器、微信网页、微信小程序、APP等)登录,其他客户端登录会踢出之前的登录用户状态。 非互斥状态下,用户允许多地登录不受限制。
OAuth 2.0 技术选型
- 系统登录认证功能采用的
Sa-Token轻量级 Java权限认证框架。支持登录认证、权限认证、分布式Session会话、微服务网关鉴权、SSO 单点登录、OAuth2.0统一认证。
Sa-Token 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,代表应用自身的资源授权 |