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 Details

    • AuthenticationService

      public AuthenticationService()
  • Method Details

    • registerUser

      public UserResponseDTO registerUser(UserRequestDTO userRequestDTO)
      Registro de um novo usuário no sistema. Novos usuários terão suas senhas encriptadas dentro do sistema por razões de seguranaça

      Todas 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ário
      authenticationManager - 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

      public RefreshTokenResponseDTO validateRefreshToken(RefreshTokenRequestDTO request)
      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:
      loadUserByUsername in interface org.springframework.security.core.userdetails.UserDetailsService
      Throws:
      org.springframework.security.core.userdetails.UsernameNotFoundException