0
respostas

[Sugestão] Desafio tente fazer essa aula apenas lendo minha anotação

Controller da autenticação

  • Criar a classe AuthenticationController.
    • Anotações spring — @RestController, @RequestMapping("/login").
    • Atributo — @AutoWired private AuthenticationManager manager;.
    • Metodo — public ResponseEntity login
      • argumento: @RequestBody @Valid UsuarioDTO usuarioDTO
      • variaveis: var (UsernamePasswordAuthenticationToken) token, var(Authentication) authentication.
        • a variavel authentication será usada pelo atributo manager atraves do spring para efetuar o login.
      • retorno: ResponseEntity.ok().build();.
  • Criar a classe UsuarioDTO.
  • Criar 2 metodos novos na classe SecurityConfig.
    • authenticationManager — metodo responsavel por efetuar o login em conjunto com a classe AuthenticationController no atributo manager.
    • passwordEncoder — metodo responsavel por avisar ao Spring que as senhas no banco vão utilizar o BCrypt.
  • Criar um usuário no banco de dados
    • id: 1
    • login: john.santannas@gmail.com
    • senha: $2a$12$jwuv27t1RekFCV7ZqBE/hOv0vgWmnb2s9UJh8tRXfUH3NGHFojOt2. (senha no formato BCrypt)
  • Implementar a interface UserDetais na classe Usuario.
    • Apos implementar os metodos da interface, realizar 3 principais alterações
      • getAuthorities retornar um List.*of*(new SimpleGrantedAuthority("ROLE_USER"));.
      • getPassword retornar o atributo senha.
      • getUserName retornar o atributo login.