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

调用取款接口时出现ERR_TOO_MANY_REDIRECTS 302错误求助

问题排查与解决方法

核心问题定位

请求被多次重定向至/login,本质是后端未识别到有效认证信息,触发Spring Security的未认证拦截逻辑,若登录页面也需要认证或拦截规则配置不当,就会陷入循环重定向。

分步排查与修复

1. 前端请求头配置错误(最可能原因)

你的axios put调用参数位置错误:axios的语法是axios.put(url[, data[, config]]),你把headers放在了第二个参数(请求体位置),导致后端根本没收到Authorization头,直接判定为未认证。

修复代码:

const REST_API_BASE_URL = 'http://localhost:8080';
const token = localStorage.getItem('accessToken');

export const withdrawMoney = async (accountId, amountToWithdraw) => {
    return await axios.put(
        REST_API_BASE_URL + `/account/withdraw/${accountId}/${amountToWithdraw}`,
        null, // PUT请求无请求体时传null占位
        {
            headers: {
                'Authorization': `Bearer ${token}`,
            },
        }
    )
}

2. 验证Token有效性

  • 打开浏览器控制台,执行localStorage.getItem('accessToken'),检查Token是否存在、格式是否正确(JWT Token通常是三段式字符串)。
  • 解析Token检查是否过期、Claims中的用户信息是否正确(可直接在控制台写代码解析,或用本地工具验证)。
  • 如果Token过期,调用刷新Token接口重新获取有效Token后重试请求。

3. 后端Spring Security配置检查

  • 确保/account/withdraw/**路径被配置为需要认证的资源,同时**/login路径必须允许匿名访问**,否则未认证请求跳转到/login后会再次被拦截,引发循环重定向。示例配置:
@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .authorizeRequests()
            .antMatchers("/login").permitAll() // 允许匿名访问登录接口
            .antMatchers("/account/withdraw/**").authenticated() // 取款接口需要认证
            .and()
        .formLogin() // 或你的JWT认证配置
            .loginPage("/login");
}
  • 检查JWT认证过滤器是否正确生效:确保过滤器能解析请求头中的Token,并将Authentication对象存入SecurityContextHolder。
  • 若启用了CSRF保护:前后端分离场景下可临时禁用CSRF用于排查,或配置前端正确传递CSRF Token:
http.csrf().disable();

4. 跨域(CORS)配置检查

确保后端配置了允许前端域名的跨域请求,否则请求可能被浏览器拦截,间接引发认证失败。示例CORS配置:

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("http://你的前端域名:端口")
                .allowedMethods("GET", "POST", "PUT", "DELETE")
                .allowedHeaders("*")
                .allowCredentials(true);
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 07:16:05