node.js - JWT 令牌是如何认证的?
问题描述
这让我很困惑:
因此,当用户登录时,他们会被授予带有签名的 JWT 令牌。此签名发生在 header+Payload+secret
现在用户有了一个令牌,他们可以访问受保护的资源。
JWT 如何知道令牌是有效的?由于在此流程中服务器上没有存储任何内容,如何与签名进行比较?如果我使用 JWT 调试器,我可以创建一个同样有效的令牌。那么这部分是如何工作的呢?
最后一点让我很困惑。我到处都看到“检查签名”,但没有人详细解释它。
解决方案
JWT 基于服务器拥有的密钥创建客户端令牌。JWT 的设计方式是在没有服务器拥有的密钥的情况下无法生成客户端令牌,因此每个密钥都是安全的,密钥始终是安全的。此外,服务器使用密钥来验证客户端令牌是否有效,并且只有该密钥才能验证它。
推荐阅读
- python - 密码生成器输出到文件
- static - 如何检测恶意软件是否被打包?
- c++ - C++ Djinni 返回记录。对 djinni_generated 的未定义引用
- mysql - 使用flask_mysqldb时出现Mysql错误1045(用户访问被拒绝)
- angular - 如何删除 asp.net 核心角度应用程序的 sockjs-node 错误?
- c# - 如何在 c# (NPOI) 中使用 xssf 创建特定的单元格样式
- php - 带有文件数据的 ajax 函数中的问题
- java - 字符串不能转换为 int 数组和 ASCII
- javascript - Lerna Monorepo 将单个 git 存储库作为包保存
- tensorflow - 模型部署后调用端点:[Err 104] Connection reset by peer