sa-token/sa-token-doc/doc/oauth2
2021-08-01 12:23:55 +08:00
..
oauth2-api.md OAuth2.0凭证式增加scope参数说明 2021-08-01 12:23:55 +08:00
oauth2-dev.md 新增OAuth2.0模块常用方法说明 2021-07-24 01:49:23 +08:00
oauth2-server.md OAuth2.0文档 2021-07-19 01:12:55 +08:00
readme.md OAuth2.0文档 2021-07-19 01:12:55 +08:00

Sa-Token-OAuth2.0 模块


什么是OAuth2.0?解决什么问题?

简单来讲OAuth2.0的应用场景可以理解为单点登录的升级版单点登录解决了多个系统间会话的共享OAuth2.0在此基础上增加了应用之间的权限控制 SO有些系统采用OAuth2.0模式实现了单点登录,但这总给人一种“杀鸡焉用宰牛刀”的感觉)

有关OAuth2.0的设计思想网上教程较多,此处不再重复赘述,详细可参考博客: OAuth2.0 简单解释

Sa-OAuth2 模块基于 RFC-6749 标准 编写通过Sa-OAuth2你可以非常轻松的实现系统的OAuth2.0授权认证

OAuth2.0 四种模式

基于不同的使用场景OAuth2.0设计了四种模式:

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

https://oss.dev33.cn/sa-token/doc/oauth2/sa-oauth2-setup.png

接下来我们将通过简单示例演示如何在Sa-OAuth2中完成这四种模式的对接: 搭建OAuth2-Server