Interface AuthService
- All Known Implementing Classes:
AuthServiceImpl
public interface AuthService
Handles authentication operations including user registration, login, token management,
and logout functionality.
-
Method Summary
Modifier and TypeMethodDescriptionlogin(LoginRequest loginRequest) Authenticates a user and generates JWT tokens.logout(LogoutRequest logoutRequest) Revokes a refresh token and invalidates all associated sessions.refreshAccessToken(RefreshTokenRequest tokenRequest) Refreshes an access token using a valid refresh token.register(RegisterRequest registerRequest) Registers a new user and returns JWT tokens for immediate authentication.
-
Method Details
-
register
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 existsEmailTakenException- if email already exists
-
login
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
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
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 revokedUnauthorizedException- if refresh token is invalid or expired
-