我正在阅读有关基于令牌的身份验证的文章。而当我在阅读这篇文章“ Cookies Vs Tokens ”时,我没有理解以下四点(我在引用的每个点下方都提出了我的疑问)
跨域/CORS:cookie + CORS 在不同域之间不能很好地发挥作用。基于令牌的方法允许您对任何域上的任何服务器进行 AJAX 调用,因为您使用 HTTP 标头来传输用户信息。
为什么现在不会出现cors问题?如果浏览器中相邻选项卡中的某个人窃取了您的令牌(因为在该域的 javascript 中有可以清楚地说明令牌的存储位置以及如何检索令牌的代码)并开始发出请求怎么办?还有更多的说法是“cookies + cors”。为什么说 cookie 和 cors 玩的不好?
CDN:您可以从 CDN 提供应用程序的所有资产(例如 javascript、HTML、图像等),而您的服务器端只是 API。
为什么这是基于令牌的身份验证系统的优势?即使我们在进行基于 cookie 的身份验证时,我们也在使用 cdn 对吗?这是因为脚本标签可以以任何方式调用来自其他域的脚本,对吗?
CSRF:由于您不依赖 cookie,因此您不需要保护跨站点请求(例如,您的站点无法生成 POST 请求并重新使用现有的身份验证 cookie,因为不会有) .
如果浏览器中相邻选项卡中的某个人(来自其他域)窃取了您的令牌并开始发出请求怎么办?我也无法理解这一点。
移动就绪:当您开始在原生平台(iOS、Android、Windows 8 等)上工作时,cookie 在使用安全 API 时并不理想(您必须处理 cookie 容器)。采用基于令牌的方法可以大大简化这一点。
完全没看懂。有人可以解释一下,如何?