我对AngularJS和基于令牌的身份验证完全陌生。实际上我想使用AngularJS框架作为我的前端,而API作为后端。因此,我遵循了一些来自互联网的教程,并将我的代码附加在https://github.com/mmSebastian/angularjsWebAPI。
当我尝试登录我的网络应用程序时,我在浏览器中面临以下错误:
- Firefox
阻止跨来源请求:同源策略不允许读取http://localhost:50987/token上的远程资源。(原因:CORS标头"Access Control Allow Origin"与"(null)"不匹配)。
- 铬
无法加载http://localhost:50987/token:"Access Control Allow Origin"标头包含多个值"*,*",但只允许一个值。因此,不允许访问源"http://localhost:52386"。
- 边缘
SEC7128:CORS响应不允许使用多个访问控制允许原始标头。
但是,当我通过Postman运行http://localhost:50987/token时,它工作得很好。
我已经尝试了以下链接,但仍然无法解决。请对此提供帮助。
-
Angularjs:为什么添加授权标头会导致-1状态响应?
-
MVC web api:否';访问控制允许来源';标头出现在请求的资源上
CORS(跨源)需要从浏览器发出HTTP请求,以便拥有与服务器完全相同的域。
例如,从localhost:8080到localhost:8010的请求将在中工作
例如,从localhost:8080到localhost:8081的请求将不起的作用
你会得到一个CORS错误。这仅由浏览器强制执行,因此POSTMAN将正常工作。
要解决此问题,请在服务器上添加相关的CORS标头,例如:
Access-Control-Allow-Origin: *
您可能需要在服务器上添加其他访问控制标头。
或者,您可以让Web服务器将某些请求直接代理到后端,从而绕过浏览器中的CORS强制执行。