在 Authentication Token 上签署什么信息

What information to sign on Authentication Token

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

我也把用户的 guid 放到 payload 上,这样在后续的请求中,我可以使用 guid 找到用户; guid 的一个例子是 bd262477-8b93-4f2c-9dc9-175edf6e0d14.

这是坏事还是安全问题?我想我想问的是您应该在有效负载上输入哪些信息? guid 好还是不好?

有人可以向我提供 link 来解释为什么(或为什么不)您在令牌中包含的内容存在安全问题吗?

应签署整个令牌,以保护令牌正文中的所有声明。

关于您可以安全地放入令牌中的内容:这取决于令牌的存储位置 "at rest"。但是一般来说你不应该把敏感信息放在令牌中除非你也打算加密令牌(加密是第二步,除了签名)

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

Use JWT the Right Way!

Where to Store Your JWTs - Cookies vs HTML5 Web Storage

Token Based Authentication for Single Page Apps (SPAs)

希望对您有所帮助!