我们正在开发Angular 5中的网站。后端是使用.Net Web API和SQL Server开发的。该网站将部署在Azure上,可以从互联网和内部网访问。
我们已经配置了CROSS Origin设置,它运行正常。现在我们已经使用SAML集成了Ping联合SSO。现在,站点被重定向到第三方登录页面并提供错误“资源上不存在访问控制允许区域标题。因此不允许Origin null访问”。在重定向到登录页面之前,不允许“”。通过指定由逗号分隔但仍然得到相同错误的多个源来尝试。以下是示例代码。
var cors = new EnableCorsAttribute("http://localhost:4200", "*", "*");
cors.Origins.Add("https://3rd party url");
config.EnableCors(cors);
如果通过键入url直接从web api访问SSO,则工作正常。请提供解决此问题的任何指示。
答案 0 :(得分:0)
您可以在客户端中使用代理,并将客户端的来源更改为您想要的任何内容。
此解决方案的优点是:
使用代理
修改"start"
的{{1}}以查看下方
package.json
在项目的根目录中创建一个名为"start": "ng serve --proxy-config proxy.conf.json",
的新文件,并在其中定义您的代理,如下所示
proxy.conf.json
重要的是您使用{
"/api/*": {
"target": "http://localhost:56492",
"secure": "false"
}
}
代替npm start
现在在你的service.ts中,发布/获取请求url而不是localhost:56492 / ...只需键入/ api / Film。
从这里阅读更多内容:Proxy Setup angular 2 cli