尝试调用 AIA 时使用 Keycloak "Unexpected error when handling authentication request to identity provider"
Keycloak "Unexpected error when handling authentication request to identity provider" when trying to invoke AIA
按预期工作 Keycloak 服务器让我很头疼,因为我开始尝试实施应用程序启动的操作。
先前搜索
因为寻找主题导致很少选择动手实践 material,所以我必须完成 the design document for AIA,尤其是流程部分。
环境
- 钥匙斗篷 15
- PostgreSQL 数据库后端
- 作为 k8s 部署的 Keycloak
- 正在使用的客户端具有用于开发目的的临时完整范围
- Node.JS 带有 keycloak-connect 的后端并表示为服务器
我试过的
根据设计文档 (Here is an entry to google groups where it's said that the feature "pretty much turned out as designed") 流程应构造为
../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()
填充,其中 keycloak
是 keycloak-connect 实例。
模板引擎正确地将变量替换为一个 link 导致我的 keycloak 实例,在那里我看到了这个错误消息(相当于德语):
Unexpected error when handling authentication request to identity provider
(德语:
Unerwarteter Fehler während der Bearbeitung der Anfrage an den Identity Provider.
)
没有配置其他身份提供者。
问题
如果设计文档中描述的方式导致此错误,如何正确调用我的 Keycloak 来启动 AIA?
经过我自己的研究,我现在可以使用它了。
该错误消息似乎具有误导性,因为我没有在该实例上配置其他身份提供者。
kc_action 参数应全部大写。所以
`${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`
应该是
`${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`
这需要记录在某个地方供人们查找,因为我没有在“文档”中看到它明确提及。
I also raised an enhancement request to the Keycloak documentation to document AIAs officially
按预期工作 Keycloak 服务器让我很头疼,因为我开始尝试实施应用程序启动的操作。
先前搜索
因为寻找主题导致很少选择动手实践 material,所以我必须完成 the design document for AIA,尤其是流程部分。
环境
- 钥匙斗篷 15
- PostgreSQL 数据库后端
- 作为 k8s 部署的 Keycloak
- 正在使用的客户端具有用于开发目的的临时完整范围
- Node.JS 带有 keycloak-connect 的后端并表示为服务器
我试过的
根据设计文档 (Here is an entry to google groups where it's said that the feature "pretty much turned out as designed") 流程应构造为
../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()
填充,其中 keycloak
是 keycloak-connect 实例。
模板引擎正确地将变量替换为一个 link 导致我的 keycloak 实例,在那里我看到了这个错误消息(相当于德语):
Unexpected error when handling authentication request to identity provider
(德语:
Unerwarteter Fehler während der Bearbeitung der Anfrage an den Identity Provider.
)
没有配置其他身份提供者。
问题
如果设计文档中描述的方式导致此错误,如何正确调用我的 Keycloak 来启动 AIA?
经过我自己的研究,我现在可以使用它了。 该错误消息似乎具有误导性,因为我没有在该实例上配置其他身份提供者。
kc_action 参数应全部大写。所以
`${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`
应该是
`${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`
这需要记录在某个地方供人们查找,因为我没有在“文档”中看到它明确提及。
I also raised an enhancement request to the Keycloak documentation to document AIAs officially