Token登录验证(附图)

本文介绍了Token登录验证的概念,重点讲解了JWT(JSON Web Token)的工作原理和生成过程。用户登录成功后,服务器生成JWT并返回给客户端,之后的请求中客户端携带此Token进行身份验证。JWT包含Header、Payload和Signature三部分,不加密但可防止数据篡改。

什么是Token

token是由服务器生成的一串加密后的字符串,用来作为客户端进行请求的一个标识。
用户第一次成功登录后,服务器会针对这个用户生成一个token,用来标识这个用用户,并将生成的token返回给客户端,以后客户端只需要带着token来访问即可,不需要使用账号和密码来。

通过JWT生成Token

JWT(JSON Web Token)是一种跨域认证解决方案,它规定了一种Token的实现方式。
目前多用于前后端分离项目和OAuth2.0业务场景下。

JWT是基于Token的轻量级认证模式,服务端认证通过后,会生成一个JSON对象,经过签名后得到一个Token,再发回给用户。

		eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
		eyJ1c2VySWQiOjUsInJvbGVfaWQiOiIxIiwiZXhwIjoxNjA0MzA
		5NDI3LCJpc3MiOiJteS1wcm9qZWN0In0.
		QS4QTa3siUY9M7mWpEU2QfSsQ2oNzTMTE6IuOJjVl4I

JWT是一个很长的字符串,中间用(.)分割成三个部分。

JWT的三个部分:

  • Header(头部)Header 部分是一个 JSON 对象,描述 JWT 的元数据
  • Payload(负载)Payload 部分也是一个 JSON 对象,用来存放实际需要传递的数据
  • Signature(签名)Signature 部分是对前两部分的签名,防止数据篡改

注意,JWT 默认是不加密的,任何人都可以读到,所以不要把秘密信息放在Payload部分。

并将这三个JSON 对象使用 Base64URL 算法转成字符串

Token身份验证基本流程

  1. 用户使用账号密码请求登录
  2. 服务端验证账号密码
  3. 验证成功后,服务端会生成一个token,并将这个token返回给客户端
  4. 客户端收到这token后将它放在cookie或者本地存储
  5. 客户端再次向服务器发起请求时带上token
  6. 服务端收到请求,然后验证客户端请求里面带着token,如果验证成功,就向客户端返回请求的数据。

流程图

(字体潦草,见谅)
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值