ZPY博客

spring security oauth2 0报错localhost将您的重定向次数过多

---
title: Spring Security Oauth2.0报错localhost将您的重定向次数过多
date: 2019-01-08 13:08:42
categories: Spring Security
tags:
- 报错
- localhost
- debug
- redirect_uri
- 授权
- 重定向
- 回调
- security
- oauth2.0
- authorize
- configure
- oauth
- 死循环
- WebSecurityConfigurerAdapter
---

Spring Security Oauth2.0访问/oauth/authorize认证完成后返回到redirect_uri时报错localhost将您的重定向次数过多

debug看了下,出现这个问题是因为会无限重定向到这个redirect_uri。

但是为什么会无限重定向到这个地址呢?最终尝试了很多才弄懂。

首先,访问/oauth/authorize,认证成功会返回到redirect_uri并带上一个授权码code和state。但是这个时候请注意,如果在configure里没有添加例外,只有code还是进不了这个回调的页面的,所以他只能再次认证,变成死循环。

所以最终的解决方法是,在WebSecurityConfigurerAdapter的configure里添加redirect_uri的地址,让它在没有认证时也能访问即可。

比如我这里的redirect_uri是http://localhost:8082/ui/hehe

所以代码如下 :

        http.antMatcher("/**")
                .authorizeRequests()
                .antMatchers("/","/test**","/index**","/hehe**","/login**")
//                .anyRequest()
                .permitAll()
                .anyRequest()
                .authenticated();