Spring Oauth2.0认证体系

OAuth2.0是做什么的?

通过token方式,授权第三方应用访问服务器的特定资源。
(如:第三方应用微信登录获取用户头像微信名,或第三方应用调用后端短信发送模块短信发送接口。)

OAuth2.0授权的四种方式

  1. 授权码模式
    授权码模式
    授权流程:

    1. 第三方应用通过client_id和客户端密码(可选)访问授权服务器验证客户端信息并注册回调(redirect)。(第三方需要提前在授权服务器注册)
    2. 用户在授权页面输入用户名密码(或二维码)进行授权。
    3. 授权服务器将用户导向redirect_url并附上返回授权码code。
    4. 第三方应用通过授权码访问授权服务器获取token(后端进行)。
    5. 第三方应用访问资源服务器获取相关资源。
  2. 简化模式
    不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,跳过了"授权码"这个步骤。

  3. 密码模式
    用户向客户端提供自己的用户名和密码。客户端使用这些信息,向"服务商提供商"索要授权。

  4. 客户端模式
    客户端以自己的名义,而不是以用户的名义,向"服务提供商"进行认证。

应用场景
  • 根据客户端是否受信选择授权码模式或者密码模式。密码模式需要用户直接将密码提供给客户端,而授权码模式不需要,安全性更强。
  • 根据场景选择客户端模式,这种模式一般用于校验客户端是否有访问后端模块权限,后端资源一般是某些接口,没有用户概念,不需要用户授权,一般凭客户端id密码进行校验。

JWT

JWT是一种无状态token。可根据需求是否要求token回收,若不需要可选用JWT降低系统复杂度。

阮一峰的网络日志 理解OAuth 2.0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值