我得到了以下设置:
https://localhost:1234 ->使用keycloak-js和@web Keycloak /web http://localhost:8080 ->密钥披风(docker)
React应用程序被配置为使用keycloak实例。
如果我试图访问我的get应用程序,我会得到以下网络错误:
GET http://localhost:8080/auth/realms/REALMNAME/protocol/openid-connect/3p-cookies/step1.html
not-set cross-origin-resource-policy我的浏览器阻止请求,因为缺少cross-origin-resource-policy头。
如果我将我的应用程序托管在https://localhost:1234上,并在https://id.domain.de上使用高效的密钥披风,也会出现同样的错误,所以似乎ssl没有问题。
如果我在具有不同子域的服务器上使用我的高效密钥斗篷和高效的反作用应用程序,确实可以工作。(https://id.domain.de和https://ui.domain.de)。
有什么办法解决这个问题吗?)
发布于 2021-10-10 07:38:13
您必须为您的react应用程序url启用Web源。我相信您的客户的网络起源是为您工作的一个。您可以从Realms -> Client -> Select Client-> Web Origins中为部件启用网络源。

网站起源
此选项以CORS为中心,代表跨源资源共享。如果浏览器JavaScript试图向其域不同于JavaScript代码的服务器发出AJAX HTTP请求,则该请求必须使用CORS。服务器必须以特殊方式处理CORS请求,否则浏览器将不显示或允许处理请求。该协议的存在是为了防止XSS、CSRF和其他基于JavaScript的攻击.
https://stackoverflow.com/questions/69374352
复制相似问题