angular 4客户端联系到PingFed SAML2.0但得到No' Access-Control-Allow-Origin' CORS错误

时间:2018-02-20 18:48:20

标签: angular cors http-headers saml-2.0 pingfederate

我的angular 4客户端正在联系PingFed服务器以进行基于SAML2的身份验证。

我们使用saml2-js npm模块作为浏览器和pingfed服务器之间的中间件。

当我按下登录按钮启动登录过程时,我在控制台中看到了这一点

Failed to load https://mypingfed-server/idp/startSSO.ping?SAMLRequest=someSAMLpayload: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://localhost:3000' is therefore not allowed access. The response had HTTP status code 500.

这是一个GET请求,是一个加载了saml2-js模块的服务器端点。端点发送请求,导致302重定向。

我的问题是 - 如何在pingfed saml 2.0服务器上设置响应头属性?

似乎没有关于如何在pingfed服务器上设置此属性的文档。

另外,这是否是正确的方法?即。我的客户端配置中是否存在导致此问题的盲点?

1 个答案:

答案 0 :(得分:1)

事实证明文档在这里:

https://documentation.pingidentity.com/pingfederate/pf84/#adminGuide/concept/addingCustomHttpResponseHeaders.html

根据文档,您可以在response-header-admin-config.xml文件或response-header-runtime-config.xml中配置服务器的响应头。

我已经确认它可以解决我的问题。问题是服务器没有返回所需的响应头。通过正确配置pingfed服务器解决了CORs问题。