新增SSO与OAuth2技术对比文档

This commit is contained in:
click33 2021-09-15 02:19:06 +08:00
parent cff04c331c
commit 9a58702eb3
5 changed files with 29 additions and 7 deletions

View File

@ -79,6 +79,7 @@
- [解决反向代理 uri 丢失的问题](/fun/curr-domain)
- [参考:把权限放在缓存里](/fun/jur-cache)
- [解决跨域问题](/fun/cors-filter)
- [技术选型SSO 与 OAuth2 对比](/fun/sso-vs-oauth2)
- [框架源码所有技术栈](/fun/tech-stack)
- [为Sa-Token贡献代码](/fun/git-pr)
- [Sa-Token框架掌握度--在线考试](/fun/sa-token-test)

View File

@ -0,0 +1,21 @@
# 技术选型:[ 单点登录 ] VS [ OAuth2.0 ]
---
QQ群库经常有小伙伴提问项目需要搭建统一认证中心是用 SSO 方便还是 OAuth2.0 方便呢?针对这个问题,我们列出两者的主要区别以供大家参考:
| 功能点 | SSO单点登录 | OAuth2.0 |
| :-------- | :-------- | :-------- |
| 统一认证 | 支持度高 | 支持度高 |
| 统一注销 | 支持度高 | 支持度低 |
| 多个系统会话一致性 | 强一致 | 弱一致 |
| 第三方应用授权管理 | 不支持 | 支持度高 |
| 自有系统授权管理 | 支持度高 | 支持度低 |
| Client级的权限校验 | 不支持 | 支持度高 |
| 集成简易度 | 比较简单 | 难度中等 |
注:以上仅为在 Sa-Token 中两种技术的差异度比较,不同框架的实现可能略有差异,但整体思想是一致的。

View File

@ -165,10 +165,6 @@ So从鉴权粒度的角度来看需要针对一个模块鉴权的时候
为了保证相关组件能够及时初始化,框架默认给过滤器注册的优先级为-100如果你想更改优先级直接在注册过滤器的方法上加上 `@Order(xxx)` 即可覆盖框架的默认配置
### 还是有不明白到的地方?
请在`gitee` 、 `github` 提交 `issues`或者加入qq群交流群链接在[首页](README?id=交流群)
### 我能为这个框架贡献代码吗?
**可以**如果有好的想法请直接提交pr步骤

View File

@ -200,7 +200,8 @@ http://sa-oauth-server.com:8001/oauth2/token
| grant_type| 是 | 返回类型这里请填写password|
| client_id | 是 | 应用id |
| username | 是 | 用户的Server端账号 |
| password | 否 | 用户的Server端密码 |
| password | 是 | 用户的Server端密码 |
| scope | 否 | 具体请求的权限,多个用逗号隔开 |
接口返回示例:

View File

@ -11,12 +11,15 @@
[OAuth2.0 简单解释](https://www.ruanyifeng.com/blog/2019/04/oauth_design.html)
<!-- 、[OAuth2.0 的四种方式](http://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html) -->
Sa-OAuth2 模块基于 [RFC-6749 标准](https://tools.ietf.org/html/rfc6749) 编写通过Sa-OAuth2你可以非常轻松的实现系统的OAuth2.0授权认证
<!-- Sa-OAuth2 模块基于 [RFC-6749 标准](https://tools.ietf.org/html/rfc6749) 编写通过Sa-OAuth2你可以非常轻松的实现系统的OAuth2.0授权认证 -->
如果你还不知道你的项目应该选择 SSO 还是 OAuth2.0,可以参考这篇:[技术选型:[ 单点登录 ] VS [ OAuth2.0 ]](/fun/sso-vs-oauth2)
### OAuth2.0 四种模式
基于不同的使用场景OAuth2.0设计了四种模式:
Sa-OAuth2 模块基于 [RFC-6749 标准](https://tools.ietf.org/html/rfc6749) 编写,基于不同的使用场景OAuth2.0设计了四种模式:
1. 授权码Authorization CodeOAuth2.0标准授权步骤Server端向Client端下放Code码Client端再用Code码换取授权Token
2. 隐藏式Implicit无法使用授权码模式时的备用选择Server端使用URL重定向方式直接将Token下放到Client端页面