自从我开始尝试实施应用程序启动操作以来,一个按预期工作的Keycloak 服务器让我很头疼。
事先搜索
因为寻找主题导致动手材料的选择很少,所以我必须阅读AIA 的设计文档,尤其是流程部分。
环境
- 钥匙斗篷 15
- PostgreSQL 数据库后端
- Keycloak 作为 k8s 部署
- 使用中的客户具有用于开发目的的临时全部范围
- 带有 keycloak-connect 的 Node.JS 后端并表示为服务器
我试过的
根据设计文档(这里是谷歌群组的一个条目,据说该功能“几乎按照设计完成”)流程应该构建为
../realms/myrealm/protocol/openid-connect/auth
?response_type=code
&client_id=myclient
&redirect_uri=https://myclient.com
&kc_action=update_profile
这导致了我的模板引擎中的这段代码:
`${keycloak.config.realmUrl}/protocol/openid-connect/auth?response_type=code&client_id=${keycloak.config.clientId}&redirect_uri=${new URLSearchParams("http://localhost:3000/account").toString()}&kc_action=update_profile`
(pug variable) keycloak.config
使用keycloak.getConfig()
where keycloak
is keycloak-connect 实例填充。
模板引擎正确地将变量替换为指向我的 keycloak 实例的链接,在该链接中,我看到了(德语等价的)以下错误消息:
Unexpected error when handling authentication request to identity provider
(德语:
Unerwarteter Fehler während der Bearbeitung der Anfrage an den Identity Provider.
)
没有配置其他身份提供程序。
问题
如果设计文档中描述的方式导致此错误,如何正确调用我的 Keycloak 以启动 AIA?