Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema com authorization Java Spring

Estou com um problema que o meu usernamePassword = Cannot find local variable 'usernamePassword'

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

@PostMapping("/login")
public ResponseEntity login(@RequestBody @Valid AuthenticationDTO data){
    var usernamePassword = new UsernamePasswordAuthenticationToken(data.getEmail(), data.getSenha());
    var auth = this.authenticationManager.authenticate(usernamePassword);

    var token = tokenService.generateToken((User) auth.getPrincipal());

    return ResponseEntity.ok(new LoginResponseDTO(token));
}
1 resposta
solução!

Olá, Guilherme

Pelo que você descreveu, parece que o erro está ocorrendo porque a variável 'usernamePassword' não está sendo encontrada. Isso pode acontecer por alguns motivos, como por exemplo, a variável não foi declarada corretamente ou o escopo da variável não abrange o local onde você está tentando usá-la.

No seu caso, a variável 'usernamePassword' parece estar sendo declarada e usada corretamente dentro do mesmo método, então o problema pode estar em outro lugar.

Uma possibilidade é que o erro esteja acontecendo em algum lugar que não está sendo mostrado no código que você compartilhou. Por exemplo, se você está tentando acessar a variável 'usernamePassword' em outro método ou classe, você receberá um erro porque 'usernamePassword' só existe dentro do método 'login'.

Outra possibilidade é que o erro esteja ocorrendo porque a classe 'UsernamePasswordAuthenticationToken' não está sendo importada corretamente. Verifique se você tem a seguinte linha no início do seu arquivo:

import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;

Se nenhuma dessas sugestões resolver o problema, por favor, compartilhe mais detalhes sobre o erro que você está recebendo e o contexto em que ele ocorre. Isso ajudará a entender melhor o que pode estar causando o problema.

Espero ter ajudado e bons estudos!