-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathauth-service.content.ts
More file actions
59 lines (53 loc) · 2.85 KB
/
auth-service.content.ts
File metadata and controls
59 lines (53 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* eslint-disable stylistic/max-len */
// eslint-disable-next-line jsdoc/require-jsdoc
export const authServiceContent: string = `import { HttpClient } from '@angular/common/http';
import { Inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { MatSnackBar } from '@angular/material/snack-bar';
import { Router } from '@angular/router';
import { BaseAuthData, BaseRole, BaseToken, JwtAuthService } from 'ngx-material-auth';
import { environment } from '../../environment/environment';
import { Roles } from '../models/roles.enum';
/**
* Provides information about a user role.
*/
export type Role = BaseRole<Roles>; // TODO: Provide Roles enum
/**
* The structure of a jwt.
*/
export type Token = BaseToken;
/**
* The data that is stored about a user.
*/
export type AuthData = BaseAuthData<Token, Roles, Role>;
/**
* Handles authentication and authorization of users.
*/
@Injectable({ providedIn: 'root' })
export class AuthService extends JwtAuthService<AuthData, Roles, Role, Token> {
override readonly API_TURN_ON_TWO_FACTOR_URL: string = \`\${environment.api_base_url}/2fa/turn-on\`;
override readonly API_CONFIRM_TURN_ON_TWO_FACTOR_URL: string = \`\${environment.api_base_url}/2fa/confirm-turn-on\`;
override readonly API_TURN_OFF_TWO_FACTOR_URL: string = \`\${environment.api_base_url}/2fa/turn-off\`;
override readonly API_LOGIN_URL: string = \`\${environment.api_base_url}/login\`;
override readonly API_LOGOUT_URL: string = \`\${environment.api_base_url}/logout\`;
override readonly API_REFRESH_TOKEN_URL: string = \`\${environment.api_base_url}/refresh-token\`;
override readonly API_REQUEST_RESET_PASSWORD_URL: string = \`\${environment.api_base_url}/request-reset-password\`;
override readonly API_CONFIRM_RESET_PASSWORD_URL: string = \`\${environment.api_base_url}/confirm-reset-password\`;
override readonly API_VERIFY_RESET_PASSWORD_TOKEN_URL: string = \`\${environment.api_base_url}/verify-password-reset-token\`;
override readonly API_REGISTER_BIOMETRIC_CREDENTIAL: string = \`\${environment.api_base_url}/biometric/register\`;
override readonly API_CONFIRM_REGISTER_BIOMETRIC_CREDENTIAL: string = \`\${environment.api_base_url}/biometric/confirm-register\`;
// eslint-disable-next-line stylistic/max-len
override readonly API_GENERATE_BIOMETRIC_AUTHENTICATION_OPTIONS: string = \`\${environment.api_base_url}/biometric/authentication-options\`;
override readonly API_CANCEL_REGISTER_BIOMETRIC_CREDENTIAL: string = \`\${environment.api_base_url}/biometric/cancel-register\`;
constructor(
http: HttpClient,
snackbar: MatSnackBar,
zone: NgZone,
router: Router,
dialog: MatDialog,
@Inject(PLATFORM_ID)
platformId: Object
) {
super(http, snackbar, zone, router, dialog, platformId);
}
}`;