GdAuthService
The GdAuthService is an Angular service that handles authentication-related operations, including user login, logout, activation, and profile retrieval.
Import
import { GdAuthenticationService } from '@geodome/gdk/core';
Methods
login(loginData: LoginRequest): Observable<User>
Authenticates a user with the provided credentials.
Parameters
loginData: LoginRequestimport { LoginRequest } from '@geodome/gdk/core';
Returns
Observable<User>: An observable that emits the authenticated User object.import { User } from '@geodome/gdk/core';
activateMe(data: ActivateMeRequest): Observable<User>
Activates a user account.
Parameters
data: ActivateMeRequestimport { ActivateMeRequest } from '@geodome/gdk/core';
Returns
Observable<User>: An observable that emits the activated User object.import { User } from '@geodome/gdk/core';
logout(): Observable<boolean>
Logs out the current user.
Returns
Observable<boolean>: An observable that emitstrueif logout was successful.
getMe(): Observable<User>
Retrieves the current user's profile.
Returns
Observable<User>: An observable that emits the User object.import { User } from '@geodome/gdk/core';
getMeOnce(): Observable<User>
Retrieves the current user's profile, caching the result for subsequent calls.
Returns
Observable<User>: An observable that emits the cached User object.import { User } from '@geodome/gdk/core';
Usage Example
import { GdAuthService, LoginRequest, User } from '@geodome/gdk/core';
export class AuthComponent {
private readonly authService = inject(GdAuthService);
login(username: string, password: string) {
const loginData: LoginRequest = { username, password };
this.authService.login(loginData).subscribe(
(user: User) => console.log('Logged in:', user),
(error: string) => console.error('Login failed:', error)
);
}
logout() {
this.authService.logout().subscribe(
(success: boolean) => console.log('Logout successful:', success)
);
}
}
Key Features
- Manages user authentication state using
GdAuthStore. - Handles login errors with specific error messages.
- Provides a cached method for retrieving user profile (
getMeOnce). - Automatically initializes user session on service instantiation.
- Integrates with
GdConfigStorefor base URL configuration.
note
This service is crucial for managing user sessions and should be used for all authentication-related operations in the application.