Interface AuthService

All Known Implementing Classes:
AuthServiceImpl

public interface AuthService
Handles authentication operations including user registration, login, token management, and logout functionality.
  • Method Details

    • register

      TokenPair register(RegisterRequest registerRequest)
      Registers a new user and returns JWT tokens for immediate authentication.
      Parameters:
      registerRequest - user registration details
      Returns:
      access and refresh token pair
      Throws:
      UsernameTakenException - if username already exists
      EmailTakenException - if email already exists
    • login

      TokenPair login(LoginRequest loginRequest)
      Authenticates a user and generates JWT tokens.
      Parameters:
      loginRequest - user login credentials
      Returns:
      access and refresh token pair
      Throws:
      InvalidCredentialsException - if credentials are invalid
    • refreshAccessToken

      AccessTokenResponse refreshAccessToken(RefreshTokenRequest tokenRequest)
      Refreshes an access token using a valid refresh token.
      Parameters:
      tokenRequest - request containing the refresh token
      Returns:
      new access token with updated expiration
      Throws:
      UnauthorizedException - if refresh token is invalid, expired, or revoked
    • logout

      RevokedTokenEntity logout(LogoutRequest logoutRequest)
      Revokes a refresh token and invalidates all associated sessions.
      Parameters:
      logoutRequest - request containing the refresh token to revoke
      Returns:
      persisted revoked token entity
      Throws:
      TokenAlreadyRevokedException - if token was already revoked
      UnauthorizedException - if refresh token is invalid or expired