基于表单的身份验证和基于令牌的身份验证之间

问题描述 投票:1回答:2

如何确定用于身份验证的身份验证。 (例如:基于表单的身份验证或基于令牌的身份验证)。

基于表单/会话/ cookie的身份验证使用基于令牌的身份验证的优点是什么。我在线阅读了多篇文章,但仍不清楚。

谁能解释我如何在这两者之间进行选择,用于网络和移动平台用户身份验证。

asp.net-mvc asp.net-web-api jwt access-token asp.net-authentication
2个回答
2
投票

JWT更好,除非你有一个我不知道的具体需求。

会话要求cookie和cookie仅适用于浏览器JWT:本质上是JSON格式的数据,因此您可以在不同的平台上使用它。

此外,JWT更安全。如果您使用cookie作为持久身份验证机制,您将容易受到CSRF攻击。黑客可以欺骗受害者进入他的网站并单击某些按钮,他的请求将作为受害者发送,因为每次请求都会自动发送cookie。

使用JWT,您可以将其存储在任何存储空间中,即:localStorage用于桌面。 JWT会根据您的每个请求进行手动发送。所以上述情况不会发生。

黑客可以在localStorage中修改你的JWT并添加更多声明,即:将用户类型从“user”更改为“admin”,nope!。它需要一些只有服务器才有的私钥。您可以尝试Auth0并在jwt.io中测试它。

这些是关键点,imo。还有其他好处,但你可以通过谷歌轻松找到。


1
投票

我使用带有RESTful api的令牌baes,以及基于Web应用程序的会话(不包括SAP,因为我通常构建一个api来处理服务层)。

这里的主要推理对我来说很简单,任何api我都希望在标题或正文中发送所有内容。因此,基于令牌的是要走的路。但是对于MVC,我并不关心,因为我正在渲染视图而不仅仅是数据。

© www.soinside.com 2019 - 2024. All rights reserved.