springsecurity实现单点登录

小伙伴们,你们好呀!我是老寇!废话不多说,跟我一起学习单点登录SSO

目录

1.运行效果图(b站-地址)

2. 老寇云SSO架构

3.老寇云SSO授权模式

4.老寇云SSO流程图(个人理解)

5.老寇云SSO流程说明(个人理解)?

6.核心代码

1.运行效果图(b站-地址

springsecurity单点登录

2. 老寇云SSO架构

1.基础框架:springboot + springcloud

2.认证授权:shiro + jwt (im-sso)、springsecurity + oauth2(security-auth和security-server)

3.缓存:redis

3.老寇云SSO授权模式

老寇云采用的主要是授权码模式和密码模式

security-auth采用密码模式

  • grant_type:表示授权类型,此处的值固定为"password",必选项。
  • username:表示用户名,必选项。
  • password:表示用户的密码,必选项。
  • scope:表示权限范围,可选项。
  • client_id:表示客户端的ID,可选
  • client_secret:表示客户端的密钥,可选

security-server采用授权码模式

  • response_type:表示授权类型,必选项,此处的值固定为"code"
  • client_id:表示客户端的ID,必选项
  • redirect_uri:表示重定向URI,可选项
  • scope:表示申请的权限范围,可选项
  • state:表示客户端的当前状态,可以指定任意值,可选项.认证服务器会原封不动地返回这个值。

4.老寇云SSO流程图(个人理解)

5.老寇云SSO流程说明(个人理解)

**第一步:**老寇云加载页发送POST请求并携带client_id、client_secret、grant_type、username、password参数到security-auth获取token

POST   https://1.com/auth/laokou-demo/oauth/token
grant_type: password
username: nBG5ht
password: 123
scope: auth
client_id: client_auth
client_secret: secret

**第二步:**security-auth拿到code请求security-server获取access_token

POST   http://localhost:9028/laokou-demo/oauth/token
client_id: client_auth
client_secret: secret
redirect_uri: https://1.com/im/loading.html
grant_type: authorization_code

**第三步:**获取token失败,授权码已被使用

**第四步:**响应前端授权码已被使用

**第五步:**发送GET请求并携带参数请求security-server服务

GET   http://localhost:9028/laokou-demo/oauth/authorize
response_type: code
client_id: client_auth
redirect_uri: https://1.com/im/loading.html
scope: userInfo
state: 123

**第六步:**如果没有登录,输入账号密码进行登录或登录未过期获取授权码code,并重定向到老寇云加载页

**第七步:**重复第一步的步骤

**第八步:**重复第二步的步骤

**第九步:**授权码可用,获取access_token

第九步1:用拿到的access_token请求security-server的资源服务,获取userKey

GET   http://localhost:9028/laokou-demo/userKey
access_token: dsfdsf233

第九步2:security-server响应userKe

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值