Token

本文详细解释了token的概念,它是无状态HTTP协议中的身份凭证,以及JWT(JSONWebtoken)在身份验证中的作用。介绍了JWT的构成和执行流程,包括头部信息、有效载荷和签名,以及如何通过token实现安全的身份验证机制。
摘要由CSDN通过智能技术生成

目录

一、token概念

二、token产生的背景

三、token作用

四、JWT

        1.JWT的概念

        2.JWT的执行流程


一、token概念

        作为计算机术语时,是“令牌”的意思。Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

        token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。说白了token是一个身份卡,有权限的作用。例如在USB1.1协议中定义了4类数据包:token包、data包、handshake包和special包。主机和USB设备之间连续数据的交换可以分为三个阶段,第一个阶段由主机发送token包,不同的token包内容不一样(暗号不一样)可以告诉设备做不同的工作,第二个阶段发送data包,第三个阶段由设备返回一个handshake包。

二、token产生的背景

        HTTP 是一种没有状态的协议,也就是它并不知道是谁是访问应用。这里我们把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过下回这个客户端再发送请求时候,还得再验证一下。

三、token作用

        使用token机制的身份验证方法,在服务器端不需要存储用户的登录记录。

        大概的流程:

  • 客户端使用用户名和密码请求登录。
  • 服务端收到请求,验证用户名和密码。
  • 验证成功后,服务端会生成一个token,然后把这个token发送给客户端。
  • 客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。
  • 客户端每次向服务端发送请求的时候都需要带上服务端发给的token。
  • 服务端收到请求,然后去验证客户端请求里面带着token,如果验证成功,就向客户端返回请求的数据。

        前端登陆的时候向服务器发送请求,服务器验证成功,会生成一个token。

        前端会存储这个token,放在session或cookie中,用于之后的业务请求身份验证。

        拿着这个token,可以在当前登录的账号下进行请求业务,发送请求时,token会放在请求头里,服务器收到这个业务请求,验证token,成功就允许这个请求获取数据。

        token可以设置失效期。

四、JWT

        1.JWT的概念

        JWT,全称为JSON Web token,是用于对应用程序上的用户进行身份验证的标记。也就是说,使用JWT的应用程序不再需要保存有关其用户的cookie或session数据。

        在身份验证过程中, 当用户使用其凭据成功登录时,将返回JWT,客户端会将其保存到本地存储中,而后每次请求都会携带。

        JWT本质上就是一个经过加密处理与校验处理的字符串。

        它由三部分组成:头信息、有效载荷、签名。

        头信息: 一般由两部分组成,Token类型和散列算法(HMAC、RSASSA、RSASSA-PSS等)

{
   "typ": "JWT",
  "alg": "HS256"
}

        2.JWT的执行流程

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值