【问题标题】:Playframework generateSignedToken vs generateTokenPlayframework generateSignedToken vs generateToken
【发布时间】:2014-02-06 23:50:40
【问题描述】:

我使用了 generateSignedToken 和 generateToken 这两种方法,但我不完全理解两者之间的区别(除了字符串长度)......哪个更好地生成随机数令牌?

顺便说一句,我阅读了这两种方法的 api 描述,但我发现它令人困惑......

【问题讨论】:

    标签: scala playframework playframework-2.1 playframework-2.2


    【解决方案1】:

    generateSignedToken 方法对generateToken 生成的令牌使用signToken 方法(如您在source on github 中所见)。文档中提到了 signToken 方法 (Documentation of play.libs.Crypto):

    签署一个令牌。这会产生一个新令牌,该令牌使用随机数签名。这主要是为了解决 BREACH 漏洞,因为它允许令牌在每个请求中有效地随机化,而无需实际更改值。

    Wikipedia on the BREACH vulnerability

    【讨论】:

    • 我在 play 2.0 中使用签名令牌的工作并不多,而且我不是安全专家(免责声明结束),但我认为这取决于您如何验证令牌。如果将令牌传递给客户端,则还必须将其保存在服务器上的某个位置(缓存、数据库...)。如果您可以控制该验证过程,则可以通过删除令牌来使令牌无效。
    • 谢谢 Tilman,您的帮助很大,我将尝试使用缓存过期进行验证,看看它是如何工作的。祝你有美好的一天!
    • 好的,将令牌存储在缓存或数据库中可能不是要走的路。也许看看这个模块:github.com/orefalo/play2-authenticitytoken
    猜你喜欢
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 2022-10-05
    • 2019-12-01
    • 1970-01-01
    • 2011-10-20
    相关资源
    最近更新 更多