【发布时间】:2018-05-02 14:59:55
【问题描述】:
我仍然不清楚 JWT 和 CSRF 是否一起工作。我了解 JWT 的基础知识(它是什么以及它是如何工作的)。我也理解与会话一起使用时的 CSRF。同样,我知道将 JWT 存储在 localStorage 中存在风险,这就是您需要 csrf 令牌的原因。所以我的问题是,我如何同时使用它们。为简单起见,假设我有一个登录页面。
1) 我让用户登录,如果用户通过身份验证,一旦使用了电子邮件和密码,服务器将发送一个 CSRF 并将使用 JWT 存储一个 httpOnly cookie(如何使用 PHP 设置 cookie)。我的理解是您可以使用header('Set-Cookie: X-Auth-Token=token_value; Secure; HttpOnly;');请确认是否可以这样做。
2) 一旦我用 JWT 设置了 cookie。我如何通过后续请求发送 CSRF 令牌> 据我了解,您将它们设置在标头中。因此,如果我发出 Ajax 请求,我会将它们放在标题中。
3) 一旦发出请求并且 CSRF 令牌与请求一起发送。验证是如何进行的。我在比较什么?
最后,实施起来安全吗?
如果您能提供尽可能多的细节,我将不胜感激。
【问题讨论】:
标签: javascript php http jwt