如何确定用于身份验证的身份验证。 (例如:基于表单的身份验证或基于令牌的身份验证)。
使用基于令牌的身份验证优于基于表单/会话/ cookie的身份验证有什么优点。我在线阅读了多篇文章,但仍不清楚。
任何人都可以向我解释如何在网络和移动平台之间进行选择 用户身份验证。
答案 0 :(得分:2)
JWT更好,除非你有特殊的需要,我不知道。
会话要求Cookie和Cookie仅适用于浏览器 JWT:本质上是JSON格式的数据,因此您可以在不同的平台上使用它。
此外,JWT更安全。如果您使用cookie作为持久性身份验证机制,您将容易受到CSRF攻击。黑客可以欺骗受害者进入他的网站并点击某些按钮,他的请求将作为受害者发送,因为每次请求都会自动发送cookie。
使用JWT,您可以将其存储在任何存储空间中,即:localStorage
用于桌面。 JWT会根据您的每个请求进行手动发送。所以上述情况不会发生。
黑客是否可以在localStorage
中修改您的JWT并添加更多声明,即:更改用户'用户类型到了'管理员',没有!它需要一些只有服务器才有的私钥。您可以尝试使用Auth0并在jwt.io中测试它。
这些是关键点,imo。还有其他好处,但您可以通过谷歌轻松找到。
答案 1 :(得分:1)
我使用带有RESTful api的令牌baes,以及基于Web应用程序的会话(不包括SAP,因为我通常构建api来处理服务层)。
这里的主要推理对我来说很简单,任何api我都希望在标题或正文中发送所有内容。因此,基于令牌的是要走的路。然而,对于MVC,我不在乎,因为我正在渲染视图而不仅仅是数据。