JWT那些事儿

本文介绍了JWT(Json Web Token)的原理,包括其组成、与session的区别,以及与OAuth2.0的关系。JWT是一种无状态的鉴权机制,通过token在客户端和服务端之间传递,提供了一种分布式系统的解决方案。同时,文章讨论了JWT的安全性,强调了加密算法的选择和传输过程中的安全性问题。
摘要由CSDN通过智能技术生成

1 从个小问题开始

Json web token 是一种跨域认证解决方案。

1.1 提问?

判断一个用户是否已经授权登录有几种方式?

  1. cookie
  2. session
  3. token

1.2 基于token的鉴权机制

基于token的鉴权机制类似于http协议也是无状态的,它不需要在服务端去保留用户的认证信息或者会话信息。这就意味着基于token认证机制的应用不需要去考虑用户在哪一台服务器登录了,这就为应用的扩展提供了便利。

流程上是这样的:

  • 用户使用用户名密码来请求服务器
  • 服务器进行验证用户的信息
  • 服务器通过验证发送给用户一个token
  • 客户端存储token,并在每次请求时附送上这个token
  • 服务端验证token值,并返回数据

这个token必须要在每次请求时传递给服务端,它应该保存在请求头里, 另外,服务端要支持CORS(跨来源资源共享)策略,一般我们在服务端设置Access-Control-Allow-Origin: *

服务器不保存任何会话数据,即服务器变为无状态,使其更容易扩展。

JWT就是token机制的一种实现方式

1.3 JWT跟session机制的比较

传统session机制没有分布式架构,无法支持横向扩展,不适用于服务器集群或者跨域体系结构。

每个用户经过我们的应用认证之后,我们的应用都要在服务端做一次记录,以方便用户下次请求的鉴别&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值