Mar*_*tin 4 cookies token access-token jwt asp.net-web-api
我已经成功地进行了身份验证,我知道它会向客户端返回一个令牌(JWT).此令牌具有到期日期/时间,因此我考虑将令牌保存在cookie中,以便将来的登录进行身份验证,但这可能无法正常工作.
然后,我虽然在cookie中保存用户名和密码,虽然我知道这不推荐?
目前我有一个接受用户名和密码的表单,成功登录将提供用于访问其他端点的令牌.
表单需要包含"记住我",因此可以进行自动登录.
实现这一目标的最佳方法是什么?
我应该在cookie中存储用户名和密码,如果不是,我如何在用户下次到达我的网站时自动进行身份验证.我提供的令牌即将过期,所以即使存储它也有任何意义吗?
提前致谢
不要在cookie中存储用户名或密码.即使cookie是加密的,最好存储一个短的到期时间的凭证,如cookie中的令牌,而不是具有更长保质期的密码凭证.
即使在ASP.NET Web窗体或MVC世界(窗体身份验证)中,通常"记住我"只能在cookie过期之前工作."记住我"并不意味着永远记住我,并且必须有一段有限的时间来记忆.那个时间可以从cookie中获得.您可以将JWT放入cookie并将cookie的生命周期设置为与JWT相同,比如一小时.当用户在该时间内回到您的应用程序时,cookie将不会过期,用户将自动登录.否则,他们必须重新登录.不要考虑存储用户名 - 密码并系统地登录.让用户输入凭据,这种方法会更安全.顺便说一句,确保cookie是加密的,并且是一个仅限HTTP的cookie.
此机制类似于表单身份验证.您将使用JWT代替身份验证票证.您需要拥有自己的HttpModule或消息处理程序来代替FAM读取cookie,并为请求建立身份.
| 归档时间: |
|
| 查看次数: |
5864 次 |
| 最近记录: |