【问题标题】:angular 4 client reaching out to PingFed SAML2.0 but getting No 'Access-Control-Allow-Origin' CORS errorangular 4 客户端连接到 PingFed SAML2.0 但没有出现“Access-Control-Allow-Origin”CORS 错误
【发布时间】:2018-07-31 05:28:03
【问题描述】:

我的 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 服务器上设置此属性的文档。

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

【问题讨论】:

  • 有人告诉我,我可以在 pingfed 前面设置一个 nginx 代理,并在那里设置响应头属性。这似乎非常骇人听闻,因此不合适。这不可能是答案……是吗?

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


【解决方案1】:

原来文档在这里:

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

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

我已经验证它可以解决我的问题。问题是服务器没有返回所需的响应标头。这是一个 CORs 问题,通过正确配置 pingfed 服务器得到了解决。

【讨论】:

猜你喜欢
  • 2017-10-29
  • 2018-11-11
  • 1970-01-01
  • 2022-11-27
  • 2021-05-06
  • 2018-02-07
  • 2014-01-20
  • 2021-06-17
相关资源
最近更新 更多