如何修复我的 keycloak 上的 cors 错误以使其正常工作?

我尝试到达这个 keycloak 端点: http://10.10.10.10:8999/auth/realms/demo-realm/protocol/openid-connect/token

我添加了client_secret、grant_type 和client_id。然后当我从我的前端应用程序发送请求时,我得到了这个错误:

从源“http://localhost:4200”访问“http://10.10.10.10:8999/auth/realms/demo-realm/protocol/openid-connect/token”的 XMLHttpRequest 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。

我的密钥斗篷设置如下:

  • 机密客户

-有效的重定向 URI:*

-web 来源:+ 或 *(都尝试过)

还尝试将有效 uris 设置为 http://localhost:4200 和 web 来源 + 或将 http://localhost:4200 添加到 web 来源。

重要的是客户端必须保密,否则当我尝试使用 access_token 时,它不会包含资源 ID...

提前致谢

stack overflow How to fix cors error at my keycloak to make it work?
原文答案

答案:

作者头像

在 keycloak 客户端设置中,添加 http://localhost:4200/* 作为有效的重定向 URI。在 web 起源中, + 是最好的选择。

如果您使用的是 Java 适配器,还要设置 enable-corstrue (参见 https://www.keycloak.org/docs/latest/securing_apps/index.html#_java_adapter_config

作者头像

尝试添加:

webOrgins : localhost:4200