Skip to main content

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: LoginRequest
    • import { 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: ActivateMeRequest
    • import { 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 emits true if 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 GdConfigStore for base URL configuration.
note

This service is crucial for managing user sessions and should be used for all authentication-related operations in the application.