jwt php签名验证不通过_JWT(JSON Web Token)

JWT(JSON Web Token)是一种常见的身份认证令牌。它由Header、Payload和Signature三部分组成,其中Signature用于防止信息被篡改。JWT不依赖session文件,而是通过签名保证安全性,但其Payload部分不应存储敏感信息,因为可以被解码。JWT的优点包括提高效率、免疫CSRF攻击,适用于前后端分离的场景,但缺点是签发后无法撤销且不能自动续签。解决方案包括使用黑名单或refresh_token机制。
摘要由CSDN通过智能技术生成

微信公众号:PHP在线

之前的 OAuth 系列 中我们的目标都是获取 Token ;
那这个 Token 是个什么样的呢?
RFC 并没有明确规定;
不过业内比较常见的方案是使用 JWT ;

JWT 是 JSON Web Token 的缩写;
要学习 JWT 我们可以拿 session 作为参照物;
在传统开发中我们在用户登录后会创建一个 session 文件 xxx ;
用户的 id 等信息就存储在 xxx 文件中;
接着会在 Set-Cookie 中返回 xxx 作为 session_id ;
以后前端请求的时候就会在 cookie 中携带 xxx ;
服务器端根据 xxx 从文件中读取用户信息;

从上面的流程我们可以看出要验证一个用户需要有两步;

  1. 传递 session 文件名

  2. 根据文件名从文件中获取用户信息

那我们可不可以不传文件名;
服务器端直接返回用户信息组成的认证字符串;
以后前端就把认证字符串发送给服务器端;
服务器端从认证字符串中获取用户信息;
这样只需要一步就可以验证用户;
不需要 session 文件的参与了;

但是这里面有两个问题需要解决;

  1. 怎么用字符串保存用户信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值