Bom dia Duarte, tudo bem?
Fiz um clone do teu projeto e realizei um teste.
Na classe SecurityConfiguration deixei assim.
.requestMatchers("/api/v1/auth/register").permitAll()
Fiz o cadastro e recebi o token, mas acho que essa logica esta equivocada, quando eu faço o cadastro no sistema ele não deveria me retornar o token só quando eu fizer login, pelo que vi é o método
@PostMapping("/authenticate")
public ResponseEntity<AuthenticationResponse> register(@RequestBody AuthenticationRequest request){
return ResponseEntity.ok(service.authenticate(request));
}
Pegando o Token que foi gerado no /register eu usei para o /demon-controller, pois como falei antes apenas o /register estava liberado o resto só authenticando.
aqui eu deixei userDetails.getAuthorities() como null porque esta dando um java.lang.NullPointerException: Cannot invoke "com.pedro.secutiry.user.Role.name()" because "this.role" is null
UsernamePasswordAuthenticationToken(
userDetails,
null,
null
);