OAuth和JWT区别

场景

  1. 你已经或者正在实现API。
  2. 你正在考虑选择一个合适的方法保证API的安全性。

要比较JWT和OAuth2, 首先要明白一点就是,这两个根本没有可比性,是两个完全不同的东西。

JWT是一种认证协议

JWT提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证的方法。令牌(Token)本身包含了一系列声明,应用程序可以根据这些声明限制用户对资源的访问。

OAuth2是一种授权框架

OAuth2是一种授权框架,提供了一套详细的授权机制(指导)。用户或应用可以通过公开的或私有的设置,授权第三方应用访问特定资源。

为什么要比较

既然JWT和OAuth2没有可比性,为什么要把这两个放在一起说呢?实际中确实会有很多人拿JWT和OAuth2作比较。很多情况下,在讨论OAuth2的实现时,会把JSON Web Tokent作为一种认证机制使用。这也是为什么他们会经常一起出现。

简单来说:应用场景不一样

  1. OAuth2用在适用第三方账号登录的情况(比如使用weibo, qq, github登录某个app)。
  2. JWT是用在前后端分离,需要简单的对后台API进行保护时使用(前后端分离无session,频繁传用户密码不安全)。

OAuth2是一个相对复杂的协议,有4种授权模式,其中的access code模式在实现时可以使用jwt才生成code,也可以不用。它们之间没有必然的联系;oauth2有clienti和scope的概念,jwt没有。如果只是拿来用于颁布token的话,二者没区别。常用的bearer算法oauth、jwt都可以用,只是应用场景不同而已。

参考资料:OAuth和JWT区别

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值