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
authenticationserá usada pelo atributomanageratraves do spring para efetuar o login.
- a variavel
- retorno:
ResponseEntity.ok().build();.
- argumento:
- Anotações spring —
- Criar a classe
UsuarioDTO. - Criar 2 metodos novos na classe
SecurityConfig.authenticationManager— metodo responsavel por efetuar o login em conjunto com a classeAuthenticationControllerno atributomanager.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)
- id:
- Implementar a interface
UserDetaisna classeUsuario.- Apos implementar os metodos da interface, realizar 3 principais alterações
getAuthoritiesretornar umList.*of*(new SimpleGrantedAuthority("ROLE_USER"));.getPasswordretornar o atributosenha.getUserNameretornar o atributologin.
- Apos implementar os metodos da interface, realizar 3 principais alterações