gpt4 book ai didi

c# - 在 ASP.Net Core 中应该在哪里存储身份验证 token

转载 作者:可可西里 更新时间:2023-11-01 09:12:44 26 4
gpt4 key购买 nike

我的应用程序有一个 API 部分和一个网站部分。在网站上,用户可以登录并从 API 获取 JWT 不记名 token 。

我现在的问题是:

Where should I store that token?

有人说,存储在 Cookie 中(也有人说“不要,因为 CSRF”),有人说 HTML5 Web Storage,有人说使用 Session(还有人说,“不要在 ASP Net Core 中使用 Session” ) 我看到一篇文章,其中有人将 auth-token 存储在数据库中 (??)。那么,现在正确的地方是什么?

最佳答案

MVC-web application with many controllers and a lot of views

如果您必须使用 token 来验证对您的 MVC 应用程序的每个请求,我认为最好的选择是将其存储在 session cookie 中,因为如果不这样做,网络浏览器将不会在每个请求中自动发送 token ,并且它会很痛苦。

现在,为了保护 cookie 和请求:

  • 制作 session cookie(没有过期日期)
  • 尽可能限制 cookie 的范围(域和路径)。
  • 设置 Secure 和 HttpOnly 属性。
  • 设置SameSite属性。
  • 如果浏览器不支持 SameSite,请使用反 CSRF token 。
  • 设置限制性 X-Frame-Options。
  • 不要忘记在每次请求时验证服务器上的 JWT 签名。
  • 加密 JWT token 以防止可能导致社会工程学的信息泄露。

关于c# - 在 ASP.Net Core 中应该在哪里存储身份验证 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44259216/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com