湖北省建设工程网站,公司网站建设怎么弄,什么网站做的比较好,大型建筑网站设计公司详情通用的JWT鉴权方案
JWT鉴权流程 基本流程分三步: ● 用户登录成功之后#xff0c;后端将生成的jwt返回给前端#xff0c;然后前端将其保存在本地缓存; ● 之后前端与后端的交互时#xff0c;都将iwt放在请求头中#xff0c;比如可以将其放在Http的身份认证的请求头 Author…通用的JWT鉴权方案
JWT鉴权流程 基本流程分三步: ● 用户登录成功之后后端将生成的jwt返回给前端然后前端将其保存在本地缓存; ● 之后前端与后端的交互时都将iwt放在请求头中比如可以将其放在Http的身份认证的请求头 Authorization 也可以通过自定义的请求头来传递 ● 后端接收到用户的请求从请求头中获取iwt然后进行校验通过之后才响应相关的接口:否则表示未登3.买
|说明:技术派沿用session的方案依然将iwt写入到cookie中
问题1 注意技术派里面的实现即便jwt校验通过了我们也依然从redis中去查了一下判断是否有效 为什么这么设计呢? ● 因为jwt本身无状态后端完全可以将redis这一层的存储都直接干掉纯依赖jwt的特性来完成身份鉴权但是由于它的无状态后端减少存储压力是一个好处同样也是一个弊端后端失去了token的管控权限如果我们希望提前失效某些用户身份则无法支持 ● 鉴于此我们依然保留了redis中存储iwt的方案(这是主要原因当然技术派作为一个让大家获取更多的知识点教学相长的项目我们会尽可能的将相关知识点给引入进来且尽量满足大厂项目规范来实现)
问题2 如何防范csrf攻击
使用jwt预防csrf攻击的主要原理就是jt是通过请求头由is主动塞进去传递给后端的而非cookie的方式从而避免csrf漏洞攻击。
但是技术派的jwt也是用cookie进行携带jwt并不能解决上面这个问题:同样的session的方案也可以将sessionld通过请求头的方式传递按照这个说法也能避免csrf啊
当然上面这么说完全没有问题我们就一项技术本身而言通常是基于其官配”方案来讨论其优缺点即以上的对比基于下面的搭配来进行的 session-cookie 方案 jwt-requestHeader方案
补充
● 使用Cookie来携带JWT令牌确实不能完全解决CSRFCross-Site Request Forgery跨站请求伪造攻击。尽管JWT通过Cookie传输可以提供一定程度的安全性但它并不能防止CSRF攻击的发生。 ● CSRF攻击利用了用户的已认证会话在用户不知情的情况下向目标网站发送未经授权的请求。即使JWT被存储在Cookie中攻击者仍然可以通过构造恶意页面或者其他方式来触发用户在目标网站上的请求从而利用用户的身份进行操作。 ● 为了防止CSRF攻击通常需要采取额外的措施比如在请求中添加CSRF令牌也称为同步令牌或者表单令牌这样服务器可以验证请求是否来自合法的源。另外确保敏感操作需要额外的确认步骤比如输入密码或者进行双因素认证也是防范CSRF攻击的有效方法。
总之虽然使用Cookie传输JWT可以提高安全性但要完全防止CSRF攻击还需要结合其他安全措施。