You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keycloak账户控制台登出时提示‘Invalid Redirect URI’错误排查

Keycloak账户控制台登出提示“Invalid Redirect URI”问题排查与解决

Keycloak登出错误:账户控制台登出时提示‘Invalid Redirect URI’
我的账户控制台配置

问题描述

使用Keycloak镜像版本quay.io/keycloak/keycloak:26.0.8时出现以下异常:

  • 通过Angular-Spring+Docker应用登出,重定向功能正常;
  • 通过Keycloak账户控制台登出时,提示“Invalid Redirect URI”错误,登出失败。

当前业务客户端配置:

  • Valid Redirect URIs:/realms/mini_apps_mzhehalo/account/*、http://localhost:4200/*
  • Valid Post Logout Redirect URIs:http://localhost:4200/

登出请求中post_logout_redirect_uri已设置为http://localhost:4200/,符合业务客户端配置要求,但错误仍存在。预期登出后重定向至http://localhost:4200/,实际触发无效重定向URI错误。

相关日志信息

2025-01-30 16:39:33 2025-01-30 14:39:33,987 WARN
[org.keycloak.events] (executor-thread-108) type="LOGOUT_ERROR",
realmId="38b78ec7-9f35-4f66-831a-b8275ba36b2c",
realmName="mini_apps_mzhehalo", clientId="account-console",
userId="null", ipAddress="172.20.0.1", error="invalid_redirect_uri",
redirect_uri="http://localhost:9090/realms/mini_apps_mzhehalo/account/"

登出请求链接

http://localhost:9090/realms/mini_apps_mzhehalo/protocol/openid-connect/logout?client_id=account-console&post_logout_redirect_uri=http%3A%2F%2Flocalhost%3A9090%2Frealms%2Fmini_apps_mzhehalo%2Faccount%2F&id_token_hint=eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJhRkx2dzlQaVBJb21WTkRKU0l1VEVJdkEzc0lCXy04NkEtbFd6aThZOGJBIn0.eyJleHAiOjE3MzgyNDg5NTYsImlhdCI6MTczODI0ODY1NiwiYXV0aF90aW1lIjoxNzM4MjQ2ODU4LCJqdGkiOiJkMzYyZTM5YS1mYzhkLTQxODYtYWZhNC01YTYwYjU1MWY2YzUiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjkwOTAvcmVhbG1zL21pbmlfYXBwc19temhlaGFsbyIsImF1ZCI6ImFjY291bnQtY29uc29sZSIsInN1YiI6IjU4ZDA1MjZjLWMzMzAtNDBkNi1hMjEwLThkMDAxYjdmMDc3YSIsInR5cCI6IklEIiwiYXpwIjoiYWNjb3VudC1jb25zb2xlIiwibm9uY2UiOiI2Yjk0YzJiYy0yMDYwLTRhY2ItYWFiZS0wZWU3ZTIzZGVlYzMiLCJzaWQiOiJkZDZjNmY3NS1lMmRiLTQ1OWItYTEyZC1kMWQxMzU5ODIxZGUiLCJhdF9oYXNoIjoiNGVJYmdvenRRbUtKY2RESmdsYmV5QSIsImFjciI6IjAiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJNeWtoYWlsbyBaaGVoYWxvIiwicHJlZmVycmVkX3VzZXJuYW1lIjoibXpoZWhhbG9AbWFpbC5jb20iLCJnaXZlbl9uYW1lIjoiTXlraGFpbG8iLCJsb2NhbGUiOiJlbiIsImZhbWlseV9uYW1lIjoiWmhlaGFsbyIsImVtYWlsIjoibXpoZWhhbG9AbWFpbC5jb20ifQ.kOz7EVkdSmlH43DwHxB1pT74v_s-RqGw_h7y0u0t3g9Yc-6DMVetcDjbqbW-RISufbUUiBEPjsH_DNvOiNs5lil4uWNzN3XSLEZYwBvwbH2bNcWCd8jopH4S76G-lAHF8HTIraf0ekGnMJr5FiJEwfbj4Tv4QJ49KJIYeR1HobA4fUS4KWbOXlnLQMz3jiVmg2YCVclSMbQJFE-RfSHLQPw2MEjUnJKnBeq7cxTgl0D15WN3ApQNAZ-P6pnNZTmGUsDsEJ1_Wvg1_u0EBc9WJEcaCqS-eJp5gidzHWuy_rjlcDc6GVZJ1L_V3-dhK3i7VJfCTqEzPXlqNMkqE08ckA

问题原因

从日志可见,触发错误的请求client_id是account-console,而非你的业务客户端。当从Keycloak账户控制台登出时,发起请求的是内置的account-console客户端,它的登出重定向URI需要单独配置,业务客户端的配置仅对自身登出请求生效。

解决步骤

  1. 登录Keycloak管理控制台,进入目标领域mini_apps_mzhehalo;
  2. 进入Clients菜单,找到内置的account-console客户端并进入配置页;
  3. 在Settings标签页中,找到Valid Post Logout Redirect URIs配置项;
  4. 添加http://localhost:4200/(或根据需求添加通配符http://localhost:4200/*);
  5. 保存配置后,重新测试账户控制台的登出流程。

额外检查:确保account-console的Valid Redirect URIs包含http://localhost:9090/realms/mini_apps_mzhehalo/account/*(日志中显示的错误redirect_uri),避免登出后无法返回账户控制台。

内容的提问来源于stack exchange,提问作者mzhehalo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 16:54:52