祗疼妳一个 发表于 2024-6-10 10:21:20

token详解

前言

本篇博客主要从什么是token?为什么要使用token?如何使用token?项目实例这几个方面讲授token,通过本篇博客能够对token能够有更深入的理解,而且有思路应用在详细项目中。
什么是token?

Token 在盘算机身份认证中是令牌的意思,表示执行某些操纵的权利的对象。普通的意思是token是身份的象征,有了这个token了你就能有权利做些什么事。
token是在服务器端产生,假如前端使用用户名密码向服务端请求认证,服务端认证乐成,那么服务端就会返回Token给前端。前端可以在每次请求的时间带上Token来证实自己的合法地位。
为什么要使用token?

从上面token的界说中我们可以看出token可以举行用户身份鉴权认证。

[*] 进步安全性:Token可以防止未经授权的用户访问受限资源。使用Token举行身份验证和授权可以避免传统的基于Cookie和Session的身份验证方式带来的一些安全风险,比方CSRF攻击和会话劫持等。
[*] 减少服务器负担:使用Token可以减轻服务器的负担,因为服务器无需保存用户的身份信息和状态信息。相反,每次请求中都包罗了Token,服务器只必要对Token举行验证即可判定用户的身份和权限。
[*] 进步性能:使用Token可以减少网络传输和服务器的负载,因为Token可以被存储在客户端,客户端在每次请求时将Token带到服务器,而不必要每次请求都要传递身份信息和状态信息。
那么如何使用token呢?

使用Token举行身份验证和授权的过程


[*]用户提供用户名和密码举行登录。
[*]服务器验证用户名和密码的正确性,假如验证通过,则生成一个Token,并将Token返回给客户端。
[*]客户端保存Token,并在以后的每次请求中都将Token携带到服务器。
[*]服务器在吸收到请求时,会对Token举行验证,以确定该请求是否被授权。
[*]假如Token验证通过,则服务器处理请求,并返回所请求的资源或操纵的结果。
[*]假如Token验证失败,则服务器返回一个未授权的错误响应,客户端必要重新举行身份验证或者革新Token。
详细步骤


[*]生成Token:服务器在用户登录乐成后,会生成一个Token,并返回给客户端。Token一般是一串加密的字符串,包罗用户的身份信息和权限信息等。
[*]保存Token:客户端在吸收到Token后,必要将其保存在当地,以便后续的请求中携带Token。
[*]携带Token:客户端在每次请求时,必要在请求头中携带Token,以便服务器举行验证。
[*]验证Token:服务器在吸收到请求时,必要从请求头中获取Token,并举行验证。假如Token验证通过,则处理请求,否则返回错误响应。
[*]革新Token:为了避免Token被恶意攻击或过期,客户端必要定期革新Token,可以在Token即将过期时,向服务器发送革新Token的请求,以获得新的Token。
项目上如何运用的token

列举的是目前公司使用token举行用户身份鉴权的大致流程:
https://img-blog.csdnimg.cn/c689d384f28341ff9e7cc3b56b19e997.png
token过期了什么办?

Token续活
目前项目中的Token续活方式,当前在redis设置token的过期时间为24分钟(根据项目业务的使用情况举行订定的),从前端来的每一次请求都在网关处对token举行续活,只要这个token还没有过期就会一直更新它的过期时间。假如某一次来的http请求间隔时间超过了24分钟,那么这个时间token已经过期了,无法举行续活。前端会重定向到登陆页面提示用户举行登陆。
总结

在使用Token举行身份验证和授权时,Token通常是存储在HTTP请求头中的,假如使用HTTP协议举行通讯,那么Token就会被以明文的情势传输,轻易被盗取或篡改,从而导致安全风险。而使用HTTPS协议,可以保证Token在传输过程中被加密,而且客户端和服务器的身份都经过了身份验证,从而有效地防止了中间人攻击和窃听等安全风险。
HTTPS协议可以通过使用SSL或TLS等安全协议,在客户端和服务器之间创建一条安全的加密通道,使得通讯过程中的数据在传输过程中被加密,从而保证数据的秘密性。同时,HTTPS协议还可以使用数字证书举行身份验证,确保客户端和服务器的身份都是可信的,从而保证身份的合法性和完整性。
升华

多角度看问题,多个维度看问题能够更加深入的理解和学习到该知识点。比方5w2h的方式。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: token详解