Class AuthenticationService
java.lang.Object
br.com.receitaquedoimenos.ReceitaQueDoiMenos.services.AuthenticationService
- All Implemented Interfaces:
org.springframework.security.core.userdetails.UserDetailsService
@Service
public class AuthenticationService
extends Object
implements org.springframework.security.core.userdetails.UserDetailsService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.security.core.userdetails.UserDetailsloadUserByUsername(String username) loginUser(LoginRequestDTO loginRequestDTO, org.springframework.security.authentication.AuthenticationManager authenticationManager) Login do usuário dentro do sistema.registerUser(UserRequestDTO userRequestDTO) Registro de um novo usuário no sistema.Validação de um refresh token.
-
Constructor Details
-
AuthenticationService
public AuthenticationService()
-
-
Method Details
-
registerUser
Registro de um novo usuário no sistema. Novos usuários terão suas senhas encriptadas dentro do sistema por razões de seguranaçaTodas as informações enviadas pelo UserRequestDTO serão validadas no filtro de palavras de palavras proibidas
- Parameters:
userRequestDTO- Informações requeridas para um cadastro de usuário- Returns:
- uma UserResponseDTO com informações de cadastro
- Throws:
DataAlreadyExistsException- caso já exista um email igual cadastrado no sistema
-
loginUser
public LoginResponseDTO loginUser(LoginRequestDTO loginRequestDTO, org.springframework.security.authentication.AuthenticationManager authenticationManager) Login do usuário dentro do sistema. As informações do Login devem estar devidamente autenticadas para serem validadas- Parameters:
loginRequestDTO- Informações requeridas para o login do usuárioauthenticationManager- Componente de autênticação já fornecessido no UserController- Returns:
- Um JSON contendo tokens de acesso caso as informações do usuário estejam validadas
-
validateRefreshToken
Validação de um refresh token.Usuário logados possuem um access_token e um refresh_token. Os refresh tokens devem ser enviados próximo ao prazo de expiração do access_token para que um novo seja gerado.
- Parameters:
request- Formulário de requisição contendo um token de autorização- Returns:
- Um novo access_token
-
loadUserByUsername
public org.springframework.security.core.userdetails.UserDetails loadUserByUsername(String username) throws org.springframework.security.core.userdetails.UsernameNotFoundException - Specified by:
loadUserByUsernamein interfaceorg.springframework.security.core.userdetails.UserDetailsService- Throws:
org.springframework.security.core.userdetails.UsernameNotFoundException
-