node.js - 在身份验证 token 上签名需要哪些信息

标签 node.js token access-token jwt

我正在使用 jwt 和 NodeJS 作为我的身份验证 token 。目前,我将受众、IP 和客户端签名到有效负载上。

我还将用户的guid放在有效负载上,以便在后续请求中,我可以使用guid找到用户; guid 的示例为 bd262477-8b93-4f2c-9dc9-175edf6e0d14

这是不好的还是安全问题?我想我要问的是你应该在有效负载上放置什么信息? guid 是好是坏?

有人可以向我提供一个链接,解释为什么(或为什么不)您在 token 上包含的内容存在安全问题吗?

最佳答案

应该对整个 token 进行签名,以保护 token 正文中的所有声明。

关于可以安全地放入 token 中的内容:这取决于 token “静态”存储的位置。但一般来说,您不应该在 token 中放入敏感信息,除非您还要对 token 进行加密(加密是除了签名之外的第二步)

我在 Stormpath 工作我们有几篇关于该主题的文章:

Use JWT the Right Way!

Where to Store Your JWTs - Cookies vs HTML5 Web Storage

Token Based Authentication for Single Page Apps (SPAs)

希望这有帮助!

关于node.js - 在身份验证 token 上签名需要哪些信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29244955/

相关文章:

node.js - node-adal 库的类型?

javascript - ES6 Express 和静态方法使用问题

javascript - 语法错误 : unexpected token <

android - 如果用户关闭位置服务,应用程序是否仍然可以访问 token ?

Facebook - 永久用户访问 token

javascript - 将任意 Javascript 数据对象传递给 Node.js C++ 插件

node.js - 错误: Cannot find module 'togeojson'

ios - 如何在 Objective-C 中获取 QuickBlox token

c++ - 在 `,' token 之前应为 `;' 或 '{'(C++,无效与 windows.h)

azure - Microsoft Entra 可验证凭据管理 API - 颁发客户端凭据问题