Token值介绍

Token 值

登录令牌.利用 token 值来判断用户的登录状态.类似于 MD5 加密之后的长字符串.

用户登录成功之后,在后端(服务器端)会根据用户信息生成一个唯一的值.这个值就是 token 值.

基本使用

在服务器端(数据库)会保存这个 token 值,以后利用这个 token 值来检索对应的用户信息,并且判断用户的登录状态.

用户登录成功之后,服务器会将生成的 token 值返回给 客户端,在客户端也会保存这个 token 值.(一般可以保存在 cookie 中,也可以自己手动确定保存位置(比如偏好设置.)).

以后客户端在发送新的网络请求的时候,会默认自动附带这个 token 值(作为一个参数传递给服务器.).服务器拿到客户端传递的 token 值跟保存在 数据库中的 token 值做对比,以此来判断用户身份和登录状态.

判断登录状态

如果客户端没有这个 token 值,意味着没有登录成功过,提示用户登录.

如果客户端有 token 值,一般会认为登录成功.不需要用户再次登录(输入账号和密码信息).

token 值扩展

token 值有失效时间:

一般的 app ,token值得失效时间都在 1 年以上.
特殊的 app :银行类 app /支付类 app :token值失效时间 15 分钟左右.

一旦用户信息改变(密码改变),会在服务器生成新的 token 值,原来的 token值就会失效.需要再次输入账号和密码,以得到生成的新的 token 值.

唯一性判断:

每次登录,都会生成一个新的token值.原来的 token 值就会失效.利用时间来判断登录的差异性.

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
JWT(JSON Web Token)是一种用于在网络应用程序之间安全传输信息的开放标准。它以 JSON 为基础并使用数字签名或消息认证码(MAC)来验证信息的完整性和真实性。 JWT 由三个部分组成:头部、载荷和签名。 头部包含 JWT 使用的签名算法信息,例如 HMAC SHA256 或 RSA。载荷包含需要传输的信息,例如用户 ID 或权限信息。签名是将头部、载荷和秘钥组合后生成的哈希,用于验证信息的真实性。 JWT 的工作原理如下: 1. 用户使用用户名和密码进行身份验证。 2. 服务器验证用户名和密码的正确性。 3. 如果验证成功,服务器生成 JWT 并将其发送回客户端。 4. 客户端将 JWT 存储在本地并在每个后续请求中将其包含在请求头部中。 5. 服务器在接收到请求时,验证 JWT 的签名并检查载荷中的信息是否与所需的一致。如果验证成功,服务器会处理请求。 JWT 的优点是: 1. 轻量级和简单:JWT 以 JSON 格式编码,易于理解和实现。 2. 安全性:使用数字签名或消息认证码(MAC)验证信息的完整性和真实性,确保信息不被篡改或伪造。 3. 可扩展性:JWT 载荷可以包含任意数量的属性和元数据,使其非常适合用于身份验证和授权。 4. 无状态:JWT 包含所有必要的信息,因此服务器不需要存储任何会话信息,使其易于扩展和实现负载均衡。 然而,JWT 也存在一些缺点,例如: 1. JWT 一旦生成就无法撤销,因此必须确保密钥的安全性。 2. JWT 中包含的信息对于攻击者来说是可见的,因此敏感信息不应该存储在 JWT 中。 3. JWT 无法在传输过程中进行更新,因此在过期之前必须生成新的 JWT。 总体来说,JWT 是一种非常有用的身份验证和授权解决方案,但在使用时需要仔细考虑其安全性和缺点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值