jwt介绍一:Token验证原理

4 篇文章 1 订阅
背景

公司处在前后端分离的转折阶段,作为后端人员,要找到一个适用于接口验证的方式,公司仍保持后端使用Laravel框架,而laravel框架默认的是【web】方式,web 方式是使用 session 来进行用户认证,当然也是可以使用,但是有一定的不安全,经过调研,主流使用的Token验证方式。

介绍JWT

JWT资料

JWT:全称Json Web Token,是一种规范化的token。可以理解为对token这一技术提出的一套规范,是在RFC 7519中提出的。介绍JWT之前,先了解token的基本原理
Token认证原理概述

  • 客户端发送认证信息(一般是指用户名/密码,clientid/secret),向服务器发送请求
  • 服务器验证客户端请求来的认证信息,然后服务端向客户端返回一个加密的token(字符串)
  • 客户端接收并将token存储(采用cookie、session都可),然后在每次请求服务器的时候都要携带这个token
  • 服务器端验证token的合法性,验证通过,服务器就认为这是一个合法请求,允许进行接下来的沟通

上述的token只是一种思路,一种解决用户授权问题的思考方式,基于这个思路,针对不同场景也就衍生出很多种的实现。而JWT就是最为流行的一种。

JWT概述

在传统的实现中,服务器会保存生成的token,当客户端发送请求的时候,服务器进行对比来实现验证,但是jwt不需要在服务器存储任何token,而是使用一套加/解密算法和一个密钥来对客户端发送的token进行验证。
这样的作法同时增加了多服务器的扩展性,在传统的token验证中,客户端请求来的token,必选先找到存贮这个token的服务器是那台,然后由那一台服务器进行用户身份验证。而JWT的存在,只需要每一台服务器都知道解密密钥,那么每一台服务器都有验证用户身份的能力。

写在最后

用过laravel的都清楚laravel推出了自己的用户认证模块“Passport”,要使用吗
我个人觉着这个层次太高,是一个很大的抽象层,被设计成一个完全成熟的OAuth2服务来用,目标专一。而jwt设计更倾向于,是一个简单的用户认证方式。当然功能也是十分强大的。假如真有OAuth相关的需求,需要一台支持OAuth的服务器,那么可以使用passport。

jwt-auth介绍二:Token组成方式

【前程栽树,后人乘凉】
JWT超详细分析
JWT-Auth了解

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值