【问题标题】:What information to sign on Authentication Token需要在身份验证令牌上签名的信息
【发布时间】:2015-05-28 11:47:58
【问题描述】:

我将 jwt 与 NodeJS 一起用于我的身份验证令牌。目前,我将受众、IP 和客户端签名到有效负载上。

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

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

谁能给我一个链接,解释为什么(或为什么不)你在令牌中包含的内容存在安全问题?

【问题讨论】:

    标签: node.js token access-token jwt


    【解决方案1】:

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

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

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

    Use JWT the Right Way!

    Where to Store Your JWTs - Cookies vs HTML5 Web Storage

    Token Based Authentication for Single Page Apps (SPAs)

    希望这会有所帮助!

    【讨论】:

    • 感谢您的链接,我会读一读。因此,如果我要设置用户 guid(而不是 id),这是一个安全问题吗?我这样做是为了在后续请求中,我可以确定哪个用户正在拨打电话。或者,我可以将令牌连同我可能需要的任何可识别信息一起存储在数据库中。每次通话时,我都会读取令牌,在数据库上找到查询并从那里开始。哪种方法更好?
    • 将用户 ID 放入令牌中是完全可以的,只要它不透明(它实际上并没有告诉您有关用户的任何信息)并且足够随机(换句话说,不是递增的数字)每个用户)。另外:JWT 约定是为此 ID 使用 sub 声明,也就是令牌的“主题”
    • 完美,感谢您的信息。是的,我正在为“id”使用一个 guid,它是一个随机字符串!
    猜你喜欢
    • 2014-04-28
    • 2021-06-03
    • 1970-01-01
    • 2014-06-18
    • 2015-11-04
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多