Ale*_*lls 5 javascript ajax node.js passport.js
我在Node.js服务器上配置了Passport,并且主要使用Twitter身份验证策略.
我对最近的一个发现感到困惑,这个发现似乎表明带有浏览器URL的GET请求(使用Web浏览器搜索栏)似乎与应用程序代码中的AJAX请求的身份验证不同.例如,如果我使用Passport登录,我可以通过将浏览器指向某些直接向后端服务器发出请求的URL来访问所有内容.但Angular或jQuery对后端API的任何请求似乎都是未经授权的.
这可能是正确的吗?如果是这样,Passport如何知道浏览器请求和JS代码中的AJAX请求之间的区别?
默认情况下,跨源 XHR 请求不会包含 cookie(通常用于维护需要身份验证的应用程序中的状态)。
var xhr = new XMLHttpRequest();
xhr.open(...);
xhr.withCredentials = true;
Run Code Online (Sandbox Code Playgroud)
您可能需要调整服务器上的 CORS 规则才能说Access-Control-Allow-Credentials: true。
另请参阅MDN。
| 归档时间: |
|
| 查看次数: |
489 次 |
| 最近记录: |