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

如何在Keycloak注册与找回密码流程中保留redirect_uri?

Keycloak v25 保留注册/找回密码流程中的原始redirect_uri方案

方案1:自定义登录主题传递redirect_uri

  • 复制Keycloak默认主题(如keycloak)到服务器themes目录,重命名为自定义主题(如custom-login)
  • 编辑主题下的login/login.ftl文件,修改注册和忘记密码的链接:
    • 注册链接改为:${url.loginRegistrationAction}?redirect_uri=${param.redirect_uri}
    • 忘记密码链接改为:${url.loginResetCredentialsAction}?redirect_uri=${param.redirect_uri}
  • 在客户端配置的「Login Theme」选项中选择该自定义主题
  • 同步修改邮件模板(email/verify-email.ftl),在验证链接中补充redirect_uri参数,确保用户验证后跳转回原始地址

方案2:通过自定义Authenticator SPI存储redirect_uri

  • 开发自定义Authenticator,在初始认证请求阶段(借助AuthenticationFlowContext)提取redirect_uri参数,存入用户会话属性
  • 在注册/找回密码流程的结束节点,从会话属性中取出redirect_uri,覆盖默认跳转地址
  • 将自定义Authenticator添加到客户端的认证流程中,确保在注册/找回密码步骤前执行

方案3:调整客户端基础配置

  • 确保客户端的「Valid Redirect URIs」配置覆盖所有需要的跳转地址(例如https://app.my.domain/*),避免因URI不匹配导致跳转失败
  • 将客户端的「Base URL」留空或设置为与原始redirect_uri前缀一致,让Keycloak优先使用认证请求中的redirect_uri而非Base URL
  • 若为public类型客户端,确认「Web Origins」配置包含redirect_uri的域名,避免跨域问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 19:30:01