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

CF部署Spring Boot应用添加XSUAA服务后redirect_uri域名无效问题排查

问题分析与解决方案

核心问题拆解

你的问题出在redirect_uri的配置匹配规则以及应用侧授权流程触发逻辑两个层面:

第一种配置失效原因

"https://*.eu10-004.hana.ondemand.com" 这种仅覆盖域名的通配符配置不符合XSUAA的校验规则——XSUAA要求redirect_uri必须包含具体的回调路径(比如/login/callback),通配符仅允许用于域名前缀,不能单独省略路径部分。当Spring Boot OAuth2客户端实际发送带路径的回调地址时,XSUAA会判定该uri不在允许列表中,抛出域名无效错误。

第二种配置授权未启动原因

"https://*.eu10-004.hana.ondemand.com/login/callback" 的路径配置本身合法,但授权流程未触发大概率是应用侧配置未同步:要么Spring Boot的OAuth2客户端未正确映射回调地址,要么HTML页面未触发授权跳转,或是Spring Security未保护需要授权的端点,导致无需授权即可访问资源。

具体解决步骤

  1. 精确配置xs-security.json的redirect-uris
    优先使用应用的实际完整回调地址,替换<your-app-name>为Cloud Foundry上你的应用实例名称:
"oauth2-configuration": {
    "redirect-uris": [
        "https://<your-app-name>.eu10-004.hana.ondemand.com/login/callback"
    ]
}

如果需要支持多实例或动态域名,保留通配符但确保路径完整:

"oauth2-configuration": {
    "redirect-uris": [
        "https://*.eu10-004.hana.ondemand.com/login/callback"
    ]
}
  1. 同步Spring Boot应用的OAuth2配置
    在application.yml或application.properties中,配置动态匹配的回调地址:
spring:
  security:
    oauth2:
      client:
        registration:
          xsuaa:
            redirect-uri: "{baseUrl}/login/callback"

该配置会让Spring Boot自动替换{baseUrl}为应用的实际访问域名,保证与XSUAA的配置完全匹配。

  1. 更新XSUAA服务并重新部署应用
  • 执行命令更新XSUAA服务实例,让新的redirect_uri配置生效:
    cf update-service <your-xsuaa-service-name> -c xs-security.json
    
  • 重新推送Spring Boot应用:
    cf push <your-app-name>
    
  1. 排查授权流程触发问题
  • 检查HTML页面是否正确引导用户访问Spring Boot的授权端点(默认是/oauth2/authorization/xsuaa),比如添加按钮或链接指向该地址。
  • 确认Spring Security配置中,需要授权的端点(如API接口)已被保护,示例配置:
    @Configuration
    @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.authorizeRequests()
                .antMatchers("/api/**").authenticated()
                .and()
                .oauth2Login();
        }
    }
    
    这样访问/api开头的接口时,会自动触发授权跳转。

权威资料获取

可参考SAP官方文档中XSUAA服务配置规则、Spring Boot与XSUAA集成流程的相关章节,重点关注redirect_uri的校验逻辑、Cloud Foundry环境下的服务绑定步骤,以及OAuth2客户端的配置细节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 04:12:55