Je suis en train de sécuriser mon serveur REST avec JWT
que j'ai implémenté moi-même (ce qui signifie que pas de trucs de printemps dans le JWT, tout le reste est Spring
bien sûr).Secure REST Api avec Spring boot et JWT
J'ai cette classe: JWTToken implements Authentication
.
J'ai un filtre qui est responsable de la mise en l'instance JWTToken
au SecurityContextHolder
:
public class JwtFilter extends GenericFilterBean {
public void doFilter(...) {
....
JWTToken token = new JWTToken(jwt); // this init the Authentication object with all the jwt claims
SecurityContextHolder.getContext().setAuthentication(token);
....
}
J'ai aussi une ressource pour le débogage ceci:
@RequestMapping(
value = "/protected_resource",
method = RequestMethod.POST
)
@RolesAllowed("admin")
public RESTResponse<String> debugJwt() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); // here I can see that the context is the right one
return new RESTResponse<>("This was successful", "feedback message", true);
}
Je manque une paix du puzzle que je ne pouvais pas trouvé dans l'une des ressources en ligne et c'est comment mettre en œuvre WebSecurityConfigurerAdapter
et plus précisément le configure(HttpSecurity http)
metohd.
Quand j'ai essayé ce faire, par exemple:
http.authorizeRequests().anyRequest().authenticated()
Les demandes ne passaient pas par cela et la ressource est pas appelé.
Qu'est-ce qui me manque ici?