服务端如何校验token的是否正确?

服务端如何校验token的是否正确?,第1张

服务端第一次返回登录请求token的时候,服务端是校验了用户,并绑定了用户关系,之后才返回了这个token,也就说,服务端保存了token和登录用户账户的对应关系,不管之后的token怎么变,都是服务器校验上一次的token,并返回新的token,token和用户账户的对应关系一直在服务端更新并维护,对于客户端来讲,无需判断token是谁,服务器下发什么,就返回什么,检验是服务端处理

1token概述
专业版:基于token的身份验证是无状态的,我们不将用户信息存放在服务器中,因为无论怎么样存储,总是很多的弊端
例如
不同服务器访问
或者存储的服务器出现异常
或者说一个服务器存储过多压力大
利用不同服务器存储,服务器之间的同步问题
所以,token这种概念解决了存放在服务端的许多问题,NoSession意味着你的程序可以根据需要去增减机器,而不用担心用户是否登录
简易版:简单来说,这个token就是用于存储用户的ip地址,通过ip地址去代替了原来的session,从而达到免密登录的效果
2token的实现流程
首先,第一次登录时,后端从前端的输入框中获取信息,调取数据库的信息验证是否成功。如果校验成功,通过用户的ip地址生成一个token,返回token给到服务器。
第二次登录时,请求AIP携带的token,调取过滤器,校验token是否正确:若校验通过,返回请求数据,无需登录。若校验错误,返回错误码,调取登录页面。

四种方式

Cookie 出现的原因: >        token需要查库验证token 是否有效,而JWT不用查库或者少查库,直接在服务端进行校验,并且不用查库。因为用户的信息及加密信息在第二部分payload和第三部分签证中已经生成,只要在服务端进行校验就行,并且校验也是JWT自己实现的。 TOKEN 概念: 令牌, 是访问资源的凭证。 

Token的认证流程: 

        1 用户输入用户名和密码,发送给服务器。 

        2 服务器验证用户名和密码,正确的话就返回一个签名过的token(token 可以认为就是个长长的字符串),浏览器客户端拿到这个token。 

        3 后续每次请求中,浏览器会把token作为>

01

它们分别是什么?

session:

session的中 翻译是“会话”,当 户打开某个web应 时,便与web服务器产 次session。服务器使 session把 户的信息临时保存在了服务器上, 户离开 站后session会被销毁。这种 户信息存储 式相对cookie来说更安全,可是session有 个缺陷:如果web服务器 做了负载均衡,那么下 个 *** 作请求到了另 台服务器的时候session会丢失。

cookie:

cookie是保存在本地终端的数据。cookie由服务器 成,发送给浏览器,浏览器把cookie以kv形式保存到某个 录下的 本 件内,下 次请求同 站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加 了 些限制确保cookie不会被恶意使 ,同 时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。

cookie的组成有:名称(key)、值(value)、有效域(domain)、路径(域的路径, 般设置为全局:"")、失效时间、安全标志(指定后,cookie只有在使 SSL连接时才发送到服务器(>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13085934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存