【发布时间】:2023-01-27 18:06:06
【问题描述】:
我有多个端点的单页应用程序 (SPA),使用带有 JWT 令牌的 Singe Sing On(SSO)。我试图弄清楚如何初始化 CSRF 令牌,同时仍然使我的前端和后端逻辑尽可能简单。
我的问题是:有没有办法避免为每个端点生成 CSRF 令牌?例如,我可以在登录过程中生成 CSRF 令牌(首先获取 CSRF 令牌并在每个登录请求中轮换令牌),然后在每个后端验证一个 CSRF 令牌吗?如果有可能,如何实施?
我使用 X-CSRF 令牌,因此在服务器端将令牌设置为 cookie,然后客户端复制它以请求标头,最后服务器验证 cookie 和标头值是否匹配。我使用 django csrf 中间件,它还进行一些额外的验证以避免客户端自行生成令牌。这个额外的验证是我不太明白的
【问题讨论】:
标签: single-sign-on single-page-application csrf