spring-boot-starter-oauth2-client接入三方sso,为什么运行不起来,重定向uri是“/code”,但是登录成功后,会报[authorization_request_not_found],“/code”回调接口进不去(第一行日志都打不出来),但是放开response.sendRedirect("/home"),是可以到home接口的,这究竟是为什么,回调接口不是用来回调根据code处理逻辑的吗,为什么就是进不去,代码如下:
protected void configure(HttpSecurity http) throws Exception {
http
.csrf()
.disable()
.authorizeRequests()
.antMatchers("/code")
.permitAll()
.anyRequest().authenticated()
.and()
.oauth2Login()
.redirectionEndpoint()
.baseUri("/code")
.and()
.successHandler((request, response, authentication) -> {
log.info("登陆成功,{}",authentication);
// 重定向到业务系统前端
//response.sendRedirect("/home");
})
.failureHandler((request, response, exception) -> log.info("登陆失败,{}", exception.getMessage()))
.permitAll()
;
}
controller中
@RequestMapping("/home")
public String homepage(@AuthenticationPrincipal OAuth2User principal) {
log.info("principal:{}", JSON.toJSONString(principal.getAttributes()));
if(true){
return "index";
}
return "error";
}
@RequestMapping(value = "/code",method = RequestMethod.GET)
public void code(@RequestParam("code") String code) {
log.info("code:{}", code);
}
```