Je développe une application Spring-Boot et le problème que j'ai est le suivant:sécurité Spring OAuth 2 comportement Redirect sur/oauth/jeton
Par défaut, chaque demande à mon contrôleur est redirigé vers/login donc je Je ne peux pas l'utiliser de cette façon.
je peux désactiver/connexion en réglant
security.oauth2.resource.filter-order = 3
dans les application.properties.
Mais je veux savoir comment le désactiver uniquement pour les non-navigateurs, donc je peux toujours utiliser le login.
Edit:
Ce serait mon approche:
http.antMatcher("/api/**")
.authorizeRequests().anyRequest().authenticated();
http.antMatcher("/**")
.formLogin();
Tout ce qui va de/api/est le repos et doit être pris en charge par OAuth seulement. Le reste devrait être géré par Login.
Mais ça ne fonctionne toujours pas, je reçois toujours la redirection.
Peu importe, réparé. Merci userWithLongNumber!
Dans mon cas, il s'est avéré que ma sécurité Web était mal configurée. Cela fonctionne maintenant:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.
formLogin().permitAll()
.and()
.authorizeRequests().anyRequest().authenticated();
}
Mon RessourceServerConfig ressemble à ceci:
@Override
public void configure(HttpSecurity http) throws Exception {
http
.exceptionHandling()
.authenticationEntryPoint(customAuthenticationEntryPoint)
.and()
.logout()
.logoutUrl("/oauth/logout")
.logoutSuccessHandler(customLogoutSuccessHandler)
.and()
.headers()
.frameOptions().disable()
.and()
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
.antMatchers("/api/**").authenticated();
}
}