假设我们有很多项目。 Project1、Project2 等,假设它们的本地开发域是 example1.local
和 example2.local
等。
现在我们已经设置了开发机器的 Keycloak 实例,其中有一个 Development
领域,该领域中有一个 AdminPanel
客户端,我们想要使用它适用于我们所有的项目。
我们可以手动添加https://example1.local/*
和https://example2.local/*
等到有效的重定向URL
和 网络起源
。
但这意味着我们需要添加我们拥有的每个项目,而且我们每年都会做很多项目。
我们尝试了https://*
,但它不允许我们登录并提示无效的redirect_uri。
是否可以将 Keycloak 的每个域列入白名单?
最佳答案
你应该能够做到这一点。我建议再次检查您的配置。像这样的东西非常适合我的场景,与你的场景相同。唯一的区别是我为我的应用程序创建了一个专用客户端,但它仍然是许多开发环境的单一客户端:
有效的重定向 URI:https://* 或 https://*.local
网络来源:*
不要为Web Origin
添加任何额外内容。只是 *
但这仅在您想使用托管在其他地方的 swagger-ui 时才需要。它允许来自任何域的 swagger 向 Keycloak 请求 token 。如果您不添加 *,由于 CORS 错误,swagger-ui 或任何类似工具将无法获取 token 。
这是一件小事,但值得一提的是,您将 https://放入配置中,因此也应该使用 https 访问客户端应用程序。如果有人错误地输入 http,则会返回相同的错误。
关于keycloak - 我可以在开发环境中将 Keycloak 的所有域列入白名单吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74846050/