ngx-oauth 4.2.2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{lib/components → components}/login/oauth-login.component.d.ts +3 -4
- package/esm2020/{lib/components → components}/login/oauth-login.component.mjs +8 -12
- package/esm2020/index.mjs +7 -6
- package/esm2020/models/index.mjs +47 -0
- package/esm2020/oauth.module.mjs +120 -0
- package/esm2020/services/oauth.interceptor.mjs +53 -0
- package/esm2020/services/oauth.service.mjs +300 -0
- package/esm2020/services/token.service.mjs +83 -0
- package/fesm2015/ngx-oauth.mjs +44 -38
- package/fesm2015/ngx-oauth.mjs.map +1 -1
- package/fesm2020/ngx-oauth.mjs +45 -39
- package/fesm2020/ngx-oauth.mjs.map +1 -1
- package/index.d.ts +6 -5
- package/{lib/models → models}/index.d.ts +1 -0
- package/{lib/oauth.module.d.ts → oauth.module.d.ts} +0 -0
- package/package.json +5 -5
- package/{lib/services → services}/oauth.interceptor.d.ts +3 -3
- package/{lib/services → services}/oauth.service.d.ts +5 -3
- package/{lib/services → services}/token.service.d.ts +3 -3
- package/esm2020/lib/models/index.mjs +0 -47
- package/esm2020/lib/oauth.module.mjs +0 -120
- package/esm2020/lib/services/oauth.interceptor.mjs +0 -53
- package/esm2020/lib/services/oauth.service.mjs +0 -291
- package/esm2020/lib/services/token.service.mjs +0 -83
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
|
|
2
2
|
import { OAuthConfig } from '../models';
|
|
3
|
-
import {
|
|
3
|
+
import { OAuthTokenService } from './token.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class OAuthInterceptor implements HttpInterceptor {
|
|
6
|
-
protected tokenService:
|
|
6
|
+
protected tokenService: OAuthTokenService;
|
|
7
7
|
protected authConfig: OAuthConfig;
|
|
8
|
-
constructor(tokenService:
|
|
8
|
+
constructor(tokenService: OAuthTokenService, authConfig: OAuthConfig);
|
|
9
9
|
intercept(req: HttpRequest<any>, next: HttpHandler): import("rxjs").Observable<import("@angular/common/http").HttpEvent<any>>;
|
|
10
10
|
private isPathExcepted;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<OAuthInterceptor, never>;
|
|
@@ -2,11 +2,11 @@ import { HttpClient } from '@angular/common/http';
|
|
|
2
2
|
import { ReplaySubject } from 'rxjs';
|
|
3
3
|
import { AuthorizationParameters, OAuthConfig, OAuthParameters, OAuthStatus, OAuthToken, OAuthType, OAuthTypeConfig, ResourceParameters, UserInfo } from '../models';
|
|
4
4
|
import { Location as Location2 } from '@angular/common';
|
|
5
|
-
import {
|
|
5
|
+
import { OAuthTokenService } from './token.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class OAuthService {
|
|
8
8
|
protected authConfig: OAuthConfig;
|
|
9
|
-
protected tokenService:
|
|
9
|
+
protected tokenService: OAuthTokenService;
|
|
10
10
|
protected http: HttpClient;
|
|
11
11
|
protected location: Location;
|
|
12
12
|
protected locationService: Location2;
|
|
@@ -17,11 +17,13 @@ export declare class OAuthService {
|
|
|
17
17
|
userInfo$: import("rxjs").Observable<UserInfo>;
|
|
18
18
|
type$: import("rxjs").Observable<OAuthType | undefined>;
|
|
19
19
|
ignorePaths: RegExp[];
|
|
20
|
+
get storageKey(): string | undefined;
|
|
21
|
+
set storageKey(storageKey: string | undefined);
|
|
20
22
|
get token(): OAuthToken;
|
|
21
23
|
set token(token: OAuthToken);
|
|
22
24
|
get config(): OAuthTypeConfig | undefined;
|
|
23
25
|
set config(config: OAuthTypeConfig | undefined);
|
|
24
|
-
constructor(authConfig: OAuthConfig, tokenService:
|
|
26
|
+
constructor(authConfig: OAuthConfig, tokenService: OAuthTokenService, http: HttpClient, location: Location, locationService: Location2);
|
|
25
27
|
login(parameters?: OAuthParameters): Promise<void>;
|
|
26
28
|
logout(useLogoutUrl?: boolean): void;
|
|
27
29
|
getUserInfo(path?: string): import("rxjs").Observable<UserInfo>;
|
|
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
|
|
|
3
3
|
import { OAuthConfig, OAuthToken } from '../models';
|
|
4
4
|
import { HttpClient } from '@angular/common/http';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class OAuthTokenService {
|
|
7
7
|
#private;
|
|
8
8
|
protected authConfig: OAuthConfig;
|
|
9
9
|
protected http: HttpClient;
|
|
@@ -17,6 +17,6 @@ export declare class TokenService {
|
|
|
17
17
|
get saved(): OAuthToken;
|
|
18
18
|
set saved(token: OAuthToken);
|
|
19
19
|
protected refreshToken(token?: OAuthToken): Observable<OAuthToken>;
|
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
21
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OAuthTokenService, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OAuthTokenService>;
|
|
22
22
|
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable, InjectionToken } from '@angular/core';
|
|
2
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export const SERVER_HOST = new InjectionToken('SERVER_HOST');
|
|
5
|
-
export const SERVER_PATH = new InjectionToken('SERVER_PATH');
|
|
6
|
-
export const LOCATION = new InjectionToken('Location');
|
|
7
|
-
export const STORAGE = new InjectionToken('Storage');
|
|
8
|
-
export const OAUTH_CONFIG = new InjectionToken('OAuthConfig');
|
|
9
|
-
export const OAUTH_TOKEN = new InjectionToken('OAuthToken');
|
|
10
|
-
export const HEADER_APPLICATION = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });
|
|
11
|
-
export const OAUTH_HTTP_CLIENT = new InjectionToken('OAuthHttpClient');
|
|
12
|
-
export class OAuthConfig {
|
|
13
|
-
}
|
|
14
|
-
OAuthConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: OAuthConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
-
OAuthConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: OAuthConfig, providedIn: 'root', useFactory: () => inject(OAUTH_CONFIG).reduce((p, c) => ({ ...p, ...c }), {}) });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: OAuthConfig, decorators: [{
|
|
17
|
-
type: Injectable,
|
|
18
|
-
args: [{
|
|
19
|
-
providedIn: 'root',
|
|
20
|
-
useFactory: () => inject(OAUTH_CONFIG).reduce((p, c) => ({ ...p, ...c }), {})
|
|
21
|
-
}]
|
|
22
|
-
}] });
|
|
23
|
-
export const provideOAuthConfig = (config = {}) => ({
|
|
24
|
-
provide: OAUTH_CONFIG,
|
|
25
|
-
useValue: config,
|
|
26
|
-
multi: true
|
|
27
|
-
});
|
|
28
|
-
export const provideOAuthConfigFactory = (factory, deps) => ({
|
|
29
|
-
provide: OAUTH_CONFIG,
|
|
30
|
-
useFactory: factory,
|
|
31
|
-
deps: deps,
|
|
32
|
-
multi: true
|
|
33
|
-
});
|
|
34
|
-
export var OAuthType;
|
|
35
|
-
(function (OAuthType) {
|
|
36
|
-
OAuthType["RESOURCE"] = "password";
|
|
37
|
-
OAuthType["AUTHORIZATION_CODE"] = "code";
|
|
38
|
-
OAuthType["IMPLICIT"] = "token";
|
|
39
|
-
OAuthType["CLIENT_CREDENTIAL"] = "client_credentials";
|
|
40
|
-
})(OAuthType || (OAuthType = {}));
|
|
41
|
-
export var OAuthStatus;
|
|
42
|
-
(function (OAuthStatus) {
|
|
43
|
-
OAuthStatus["NOT_AUTHORIZED"] = "NOT_AUTHORIZED";
|
|
44
|
-
OAuthStatus["AUTHORIZED"] = "AUTHORIZED";
|
|
45
|
-
OAuthStatus["DENIED"] = "DENIED";
|
|
46
|
-
})(OAuthStatus || (OAuthStatus = {}));
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtb2F1dGgvc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFhLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDOztBQUU3RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQVMsYUFBYSxDQUFDLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFTLGFBQWEsQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBVyxVQUFVLENBQUMsQ0FBQztBQUNqRSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQVUsU0FBUyxDQUFDLENBQUM7QUFDOUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFnQixhQUFhLENBQUMsQ0FBQztBQUM3RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQWEsWUFBWSxDQUFDLENBQUM7QUFDeEUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBQyxjQUFjLEVBQUUsbUNBQW1DLEVBQUMsQ0FBQyxDQUFDO0FBQ3pHLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFhLGlCQUFpQixDQUFDLENBQUM7QUFNbkYsTUFBTSxPQUFnQixXQUFXOzt3R0FBWCxXQUFXOzRHQUFYLFdBQVcsY0FIbkIsTUFBTSxjQUNOLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQzsyRkFFdkQsV0FBVztrQkFKaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtvQkFDbEIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztpQkFDNUU7O0FBUUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxTQUFzQixFQUFFLEVBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxPQUFpQixFQUFFLElBQVksRUFBbUIsRUFBRSxDQUFDLENBQUM7SUFDOUYsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFLE9BQU87SUFDbkIsSUFBSSxFQUFFLElBQUk7SUFDVixLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBTixJQUFZLFNBS1g7QUFMRCxXQUFZLFNBQVM7SUFDbkIsa0NBQXFCLENBQUE7SUFDckIsd0NBQTJCLENBQUE7SUFDM0IsK0JBQWtCLENBQUE7SUFDbEIscURBQXdDLENBQUE7QUFDMUMsQ0FBQyxFQUxXLFNBQVMsS0FBVCxTQUFTLFFBS3BCO0FBNEVELE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsZ0RBQWlDLENBQUE7SUFDakMsd0NBQXlCLENBQUE7SUFDekIsZ0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGYWN0b3J5UHJvdmlkZXIsIGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIFZhbHVlUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5leHBvcnQgY29uc3QgU0VSVkVSX0hPU1QgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignU0VSVkVSX0hPU1QnKTtcbmV4cG9ydCBjb25zdCBTRVJWRVJfUEFUSCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdTRVJWRVJfUEFUSCcpO1xuZXhwb3J0IGNvbnN0IExPQ0FUSU9OID0gbmV3IEluamVjdGlvblRva2VuPExvY2F0aW9uPignTG9jYXRpb24nKTtcbmV4cG9ydCBjb25zdCBTVE9SQUdFID0gbmV3IEluamVjdGlvblRva2VuPFN0b3JhZ2U+KCdTdG9yYWdlJyk7XG5leHBvcnQgY29uc3QgT0FVVEhfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPE9BdXRoQ29uZmlnW10+KCdPQXV0aENvbmZpZycpO1xuZXhwb3J0IGNvbnN0IE9BVVRIX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPE9BdXRoVG9rZW4+KCdPQXV0aFRva2VuJyk7XG5leHBvcnQgY29uc3QgSEVBREVSX0FQUExJQ0FUSU9OID0gbmV3IEh0dHBIZWFkZXJzKHsnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCd9KTtcbmV4cG9ydCBjb25zdCBPQVVUSF9IVFRQX0NMSUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxIdHRwQ2xpZW50PignT0F1dGhIdHRwQ2xpZW50Jyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICB1c2VGYWN0b3J5OiAoKSA9PiBpbmplY3QoT0FVVEhfQ09ORklHKS5yZWR1Y2UoKHAsIGMpID0+ICh7Li4ucCwgLi4uY30pLCB7fSlcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT0F1dGhDb25maWcge1xuICBjb25maWc/OiBPQXV0aFR5cGVDb25maWc7XG4gIHN0b3JhZ2VLZXk/OiBzdHJpbmc7XG4gIHN0b3JhZ2U/OiBTdG9yYWdlO1xuICBpZ25vcmVQYXRocz86IFJlZ0V4cFtdO1xufVxuXG5leHBvcnQgY29uc3QgcHJvdmlkZU9BdXRoQ29uZmlnID0gKGNvbmZpZzogT0F1dGhDb25maWcgPSB7fSk6IFZhbHVlUHJvdmlkZXIgPT4gKHtcbiAgcHJvdmlkZTogT0FVVEhfQ09ORklHLFxuICB1c2VWYWx1ZTogY29uZmlnLFxuICBtdWx0aTogdHJ1ZVxufSk7XG5cbmV4cG9ydCBjb25zdCBwcm92aWRlT0F1dGhDb25maWdGYWN0b3J5ID0gKGZhY3Rvcnk6IEZ1bmN0aW9uLCBkZXBzPzogYW55W10pOiBGYWN0b3J5UHJvdmlkZXIgPT4gKHtcbiAgcHJvdmlkZTogT0FVVEhfQ09ORklHLFxuICB1c2VGYWN0b3J5OiBmYWN0b3J5LFxuICBkZXBzOiBkZXBzLFxuICBtdWx0aTogdHJ1ZVxufSk7XG5cbmV4cG9ydCBlbnVtIE9BdXRoVHlwZSB7XG4gIFJFU09VUkNFID0gJ3Bhc3N3b3JkJyxcbiAgQVVUSE9SSVpBVElPTl9DT0RFID0gJ2NvZGUnLFxuICBJTVBMSUNJVCA9ICd0b2tlbicsXG4gIENMSUVOVF9DUkVERU5USUFMID0gJ2NsaWVudF9jcmVkZW50aWFscydcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnRDcmVkZW50aWFsQ29uZmlnIHtcbiAgdG9rZW5QYXRoOiBzdHJpbmc7XG4gIHJldm9rZVBhdGg/OiBzdHJpbmc7XG4gIGNsaWVudElkOiBzdHJpbmc7XG4gIGNsaWVudFNlY3JldD86IHN0cmluZztcbiAgc2NvcGU/OiBzdHJpbmc7XG59XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDb25maWcgZXh0ZW5kcyBDbGllbnRDcmVkZW50aWFsQ29uZmlnIHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbXBsaWNpdENvbmZpZyB7XG4gIGF1dGhvcml6ZVBhdGg6IHN0cmluZztcbiAgcmV2b2tlUGF0aD86IHN0cmluZztcbiAgY2xpZW50SWQ6IHN0cmluZztcbiAgc2NvcGU/OiBzdHJpbmc7XG4gIGxvZ291dFBhdGg/OiBzdHJpbmc7XG4gIGxvZ291dFJlZGlyZWN0VXJpPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhvcml6YXRpb25Db2RlQ29uZmlnIGV4dGVuZHMgUmVzb3VyY2VDb25maWcge1xuICBhdXRob3JpemVQYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aG9yaXphdGlvbkNvZGVQS0NFQ29uZmlnIGV4dGVuZHMgQXV0aG9yaXphdGlvbkNvZGVDb25maWcge1xuICBwa2NlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5JZENvbmZpZyB7XG4gIGlzc3VlclBhdGg6IHN0cmluZztcbiAgY2xpZW50SWQ6IHN0cmluZztcbiAgY2xpZW50U2VjcmV0Pzogc3RyaW5nO1xuICBzY29wZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVBhcmFtZXRlcnMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhvcml6YXRpb25QYXJhbWV0ZXJzIHtcbiAgcmVkaXJlY3RVcmk6IHN0cmluZztcbiAgcmVzcG9uc2VUeXBlOiBPQXV0aFR5cGUuSU1QTElDSVQgfCBPQXV0aFR5cGUuQVVUSE9SSVpBVElPTl9DT0RFIHwgc3RyaW5nO1xuICBzdGF0ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgT0F1dGhQYXJhbWV0ZXJzID0gUmVzb3VyY2VQYXJhbWV0ZXJzIHwgQXV0aG9yaXphdGlvblBhcmFtZXRlcnM7XG5leHBvcnQgdHlwZSBPQXV0aFR5cGVDb25maWcgPSBPcGVuSWRDb25maWdcbiAgfCBBdXRob3JpemF0aW9uQ29kZVBLQ0VDb25maWdcbiAgfCBBdXRob3JpemF0aW9uQ29kZUNvbmZpZ1xuICB8IEltcGxpY2l0Q29uZmlnXG4gIHwgUmVzb3VyY2VDb25maWdcbiAgfCBDbGllbnRDcmVkZW50aWFsQ29uZmlnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoVG9rZW4ge1xuICBpZF90b2tlbj86IHN0cmluZztcbiAgYWNjZXNzX3Rva2VuPzogc3RyaW5nO1xuICByZWZyZXNoX3Rva2VuPzogc3RyaW5nO1xuICB0b2tlbl90eXBlPzogc3RyaW5nO1xuICBzdGF0ZT86IHN0cmluZztcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGVycm9yX2Rlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBleHBpcmVzX2luPzogbnVtYmVyIHwgc3RyaW5nO1xuICByZWZyZXNoX2V4cGlyZXNfaW4/OiBudW1iZXIgfCBzdHJpbmc7XG4gIHNjb3BlPzogc3RyaW5nO1xuICBjb2RlVmVyaWZpZXI/OiBzdHJpbmc7XG4gIG5vbmNlPzogc3RyaW5nO1xuICB0eXBlPzogT0F1dGhUeXBlO1xuICBleHBpcmVzPzogbnVtYmVyO1xuICBcbiAgW3g6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGVudW0gT0F1dGhTdGF0dXMge1xuICBOT1RfQVVUSE9SSVpFRCA9ICdOT1RfQVVUSE9SSVpFRCcsXG4gIEFVVEhPUklaRUQgPSAnQVVUSE9SSVpFRCcsXG4gIERFTklFRCA9ICdERU5JRUQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3BlbklkQ29uZmlndXJhdGlvbiB7XG4gIGlzc3Vlcj86IHN0cmluZztcbiAgYXV0aG9yaXphdGlvbl9lbmRwb2ludD86IHN0cmluZztcbiAgaW50cm9zcGVjdGlvbl9lbmRwb2ludD86IHN0cmluZztcbiAgdG9rZW5fZW5kcG9pbnQ/OiBzdHJpbmc7XG4gIHVzZXJpbmZvX2VuZHBvaW50Pzogc3RyaW5nO1xuICBlbmRfc2Vzc2lvbl9lbmRwb2ludD86IHN0cmluZztcbiAgcmV2b2NhdGlvbl9lbmRwb2ludD86IHN0cmluZztcbiAgc2NvcGVzX3N1cHBvcnRlZD86IHN0cmluZ1tdO1xuICBjb2RlX2NoYWxsZW5nZV9tZXRob2RzX3N1cHBvcnRlZD86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJJbmZvIHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGVtYWlsX3ZlcmlmaWVkPzogYm9vbGVhbjtcbiAgZmFtaWx5X25hbWU/OiBzdHJpbmc7XG4gIGdpdmVuX25hbWU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHByZWZlcnJlZF91c2VybmFtZT86IHN0cmluZztcbiAgc3ViPzogc3RyaW5nO1xuICBhZGRyZXNzPzogb2JqZWN0O1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICBsb2NhbGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50cm9zcGVjdEluZm8gZXh0ZW5kcyBVc2VySW5mbyB7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgc2NvcGU6IHN0cmluZztcbiAgY2xpZW50X2lkPzogc3RyaW5nO1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBleHA6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { NgModule, Optional, PLATFORM_ID } from '@angular/core';
|
|
2
|
-
import { FormsModule } from '@angular/forms';
|
|
3
|
-
import { HTTP_INTERCEPTORS, HttpBackend, HttpClient, HttpClientModule } from '@angular/common/http';
|
|
4
|
-
import { RouterModule } from '@angular/router';
|
|
5
|
-
import { LOCATION, OAUTH_HTTP_CLIENT, provideOAuthConfigFactory, SERVER_HOST, SERVER_PATH, STORAGE } from './models';
|
|
6
|
-
import { OAuthService } from './services/oauth.service';
|
|
7
|
-
import { OAuthLoginComponent } from './components/login/oauth-login.component';
|
|
8
|
-
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
9
|
-
import { OAuthInterceptor } from './services/oauth.interceptor';
|
|
10
|
-
import { TokenService } from './services/token.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
const mockLocation = (serverHost, serverPath) => {
|
|
13
|
-
const url = new URL(serverHost && serverPath ? `${serverHost}${serverPath}` : 'http://localhost');
|
|
14
|
-
const { href, origin, protocol, host, hostname, port, pathname, search, hash } = url;
|
|
15
|
-
return {
|
|
16
|
-
href, origin, protocol, host, hostname, port, pathname, search, hash,
|
|
17
|
-
reload() {
|
|
18
|
-
},
|
|
19
|
-
assign(_) {
|
|
20
|
-
},
|
|
21
|
-
ancestorOrigins: {},
|
|
22
|
-
replace(_) {
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
const LocationService = {
|
|
27
|
-
provide: LOCATION,
|
|
28
|
-
useFactory(platformId, serverHost, serverPath) {
|
|
29
|
-
return isPlatformBrowser(platformId) ? location : mockLocation(serverHost, serverPath);
|
|
30
|
-
},
|
|
31
|
-
deps: [
|
|
32
|
-
PLATFORM_ID,
|
|
33
|
-
[new Optional(), SERVER_HOST],
|
|
34
|
-
[new Optional(), SERVER_PATH]
|
|
35
|
-
]
|
|
36
|
-
};
|
|
37
|
-
const mockStorage = {
|
|
38
|
-
clear() {
|
|
39
|
-
},
|
|
40
|
-
getItem(key) {
|
|
41
|
-
return null;
|
|
42
|
-
},
|
|
43
|
-
key(index) {
|
|
44
|
-
return null;
|
|
45
|
-
},
|
|
46
|
-
removeItem(key) {
|
|
47
|
-
},
|
|
48
|
-
setItem(key, value) {
|
|
49
|
-
},
|
|
50
|
-
length: 0
|
|
51
|
-
};
|
|
52
|
-
const StorageService = {
|
|
53
|
-
provide: STORAGE,
|
|
54
|
-
useFactory(platformId) {
|
|
55
|
-
return isPlatformBrowser(platformId) ? localStorage : mockStorage;
|
|
56
|
-
},
|
|
57
|
-
deps: [PLATFORM_ID]
|
|
58
|
-
};
|
|
59
|
-
const OAuthHttpClient = {
|
|
60
|
-
provide: OAUTH_HTTP_CLIENT,
|
|
61
|
-
useFactory(httpBackend) {
|
|
62
|
-
// avoid http interceptors
|
|
63
|
-
return new HttpClient(httpBackend);
|
|
64
|
-
},
|
|
65
|
-
deps: [HttpBackend]
|
|
66
|
-
};
|
|
67
|
-
const OAuthInterceptorService = {
|
|
68
|
-
provide: HTTP_INTERCEPTORS,
|
|
69
|
-
useClass: OAuthInterceptor,
|
|
70
|
-
multi: true,
|
|
71
|
-
};
|
|
72
|
-
const defaultConfig = (storage) => {
|
|
73
|
-
return {
|
|
74
|
-
storage,
|
|
75
|
-
storageKey: 'token',
|
|
76
|
-
ignorePaths: []
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
export class OAuthModule {
|
|
80
|
-
static forRoot(config = {}) {
|
|
81
|
-
return {
|
|
82
|
-
ngModule: OAuthModule,
|
|
83
|
-
providers: [
|
|
84
|
-
LocationService,
|
|
85
|
-
StorageService,
|
|
86
|
-
OAuthHttpClient,
|
|
87
|
-
provideOAuthConfigFactory((storage) => ({
|
|
88
|
-
...defaultConfig(storage),
|
|
89
|
-
...config
|
|
90
|
-
}), [STORAGE]),
|
|
91
|
-
TokenService,
|
|
92
|
-
OAuthInterceptorService,
|
|
93
|
-
OAuthService,
|
|
94
|
-
]
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
OAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: OAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
99
|
-
OAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: OAuthModule, declarations: [OAuthLoginComponent], imports: [CommonModule,
|
|
100
|
-
FormsModule,
|
|
101
|
-
HttpClientModule,
|
|
102
|
-
RouterModule], exports: [OAuthLoginComponent] });
|
|
103
|
-
OAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: OAuthModule, imports: [CommonModule,
|
|
104
|
-
FormsModule,
|
|
105
|
-
HttpClientModule,
|
|
106
|
-
RouterModule] });
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: OAuthModule, decorators: [{
|
|
108
|
-
type: NgModule,
|
|
109
|
-
args: [{
|
|
110
|
-
imports: [
|
|
111
|
-
CommonModule,
|
|
112
|
-
FormsModule,
|
|
113
|
-
HttpClientModule,
|
|
114
|
-
RouterModule,
|
|
115
|
-
],
|
|
116
|
-
declarations: [OAuthLoginComponent],
|
|
117
|
-
exports: [OAuthLoginComponent]
|
|
118
|
-
}]
|
|
119
|
-
}] });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW9hdXRoL3NyYy9saWIvb2F1dGgubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsUUFBUSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQWUseUJBQXlCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDaEksT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7O0FBRXRELE1BQU0sWUFBWSxHQUFHLENBQUMsVUFBa0IsRUFBRSxVQUFrQixFQUFZLEVBQUU7SUFDeEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbEcsTUFBTSxFQUFDLElBQUksRUFBRSxN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QUM7SUFDSixDQUFDOzt3R0FsQlUsV0FBVzt5R0FBWCxXQUFXLGlCQUhQLG1CQUFtQixhQUxoQyxZQUFZO1FBQ1osV0FBVztRQUNYLGdCQUFnQjtRQUNoQixZQUFZLGFBR0osbUJBQW1CO3lHQUVsQixXQUFXLFlBUnBCLFlBQVk7UUFDWixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLFlBQVk7MkZBS0gsV0FBVztrQkFWdkIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFBMQVRGT1JNX0lEfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7SFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBCYWNrZW5kLCBIdHRwQ2xpZW50LCBIdHRwQ2xpZW50TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TE9DQVRJT04sIE9BVVRIX0hUVFBfQ0xJRU5ULCBPQXV0aENvbmZpZywgcHJvdmlkZU9BdXRoQ29uZmlnRmFjdG9yeSwgU0VSVkVSX0hPU1QsIFNFUlZFUl9QQVRILCBTVE9SQUdFfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQge09BdXRoU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7T0F1dGhMb2dpbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2xvZ2luL29hdXRoLWxvZ2luLmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge09BdXRoSW50ZXJjZXB0b3J9IGZyb20gJy4vc2VydmljZXMvb2F1dGguaW50ZXJjZXB0b3InO1xuaW1wb3J0IHtUb2tlblNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvdG9rZW4uc2VydmljZSc7XG5cbmNvbnN0IG1vY2tMb2NhdGlvbiA9IChzZXJ2ZXJIb3N0OiBzdHJpbmcsIHNlcnZlclBhdGg6IHN0cmluZyk6IExvY2F0aW9uID0+IHtcbiAgY29uc3QgdXJsID0gbmV3IFVSTChzZXJ2ZXJIb3N0ICYmIHNlcnZlclBhdGggPyBgJHtzZXJ2ZXJIb3N0fSR7c2VydmVyUGF0aH1gIDogJ2h0dHA6Ly9sb2NhbGhvc3QnKTtcbiAgY29uc3Qge2hyZWYsIG9yaWdpbiwgcHJvdG9jb2wsIGhvc3QsIGhvc3RuYW1lLCBwb3J0LCBwYXRobmFtZSwgc2VhcmNoLCBoYXNofSA9IHVybDtcbiAgcmV0dXJuIHtcbiAgICBocmVmLCBvcmlnaW4sIHByb3RvY29sLCBob3N0LCBob3N0bmFtZSwgcG9ydCwgcGF0aG5hbWUsIHNlYXJjaCwgaGFzaCxcbiAgICByZWxvYWQoKSB7XG4gICAgfSxcbiAgICBhc3NpZ24oXzogc3RyaW5nKSB7XG4gICAgfSxcbiAgICBhbmNlc3Rvck9yaWdpbnM6IHt9IGFzIGFueSxcbiAgICByZXBsYWNlKF86IHN0cmluZykge1xuICAgIH1cbiAgfTtcbn07XG5cbmNvbnN0IExvY2F0aW9uU2VydmljZSA9IHtcbiAgcHJvdmlkZTogTE9DQVRJT04sXG4gIHVzZUZhY3RvcnkocGxhdGZvcm1JZDogT2JqZWN0LCBzZXJ2ZXJIb3N0OiBzdHJpbmcsIHNlcnZlclBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSA/IGxvY2F0aW9uIDogbW9ja0xvY2F0aW9uKHNlcnZlckhvc3QsIHNlcnZlclBhdGgpO1xuICB9LFxuICBkZXBzOiBbXG4gICAgUExBVEZPUk1fSUQsXG4gICAgW25ldyBPcHRpb25hbCgpLCBTRVJWRVJfSE9TVF0sXG4gICAgW25ldyBPcHRpb25hbCgpLCBTRVJWRVJfUEFUSF1cbiAgXVxufTtcblxuY29uc3QgbW9ja1N0b3JhZ2U6IFN0b3JhZ2UgPSB7XG4gIGNsZWFyKCkge1xuICB9LFxuICBnZXRJdGVtKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0sXG4gIGtleShpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0sXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpIHtcbiAgfSxcbiAgc2V0SXRlbShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICB9LFxuICBsZW5ndGg6IDBcbn07XG5cbmNvbnN0IFN0b3JhZ2VTZXJ2aWNlID0ge1xuICBwcm92aWRlOiBTVE9SQUdFLFxuICB1c2VGYWN0b3J5KHBsYXRmb3JtSWQ6IE9iamVjdCkge1xuICAgIHJldHVybiBpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSA/IGxvY2FsU3RvcmFnZSA6IG1vY2tTdG9yYWdlO1xuICB9LFxuICBkZXBzOiBbUExBVEZPUk1fSURdXG59O1xuXG5jb25zdCBPQXV0aEh0dHBDbGllbnQgPSB7XG4gIHByb3ZpZGU6IE9BVVRIX0hUVFBfQ0xJRU5ULFxuICB1c2VGYWN0b3J5KGh0dHBCYWNrZW5kOiBIdHRwQmFja2VuZCkge1xuICAgIC8vIGF2b2lkIGh0dHAgaW50ZXJjZXB0b3JzXG4gICAgcmV0dXJuIG5ldyBIdHRwQ2xpZW50KGh0dHBCYWNrZW5kKTtcbiAgfSxcbiAgZGVwczogW0h0dHBCYWNrZW5kXVxufTtcblxuY29uc3QgT0F1dGhJbnRlcmNlcHRvclNlcnZpY2UgPSB7XG4gIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICB1c2VDbGFzczogT0F1dGhJbnRlcmNlcHRvcixcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnID0gKHN0b3JhZ2U6IFN0b3JhZ2UpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBzdG9yYWdlLFxuICAgIHN0b3JhZ2VLZXk6ICd0b2tlbicsXG4gICAgaWdub3JlUGF0aHM6IFtdXG4gIH07XG59O1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtPQXV0aExvZ2luQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW09BdXRoTG9naW5Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE9BdXRoTW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IE9BdXRoQ29uZmlnID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE9BdXRoTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBPQXV0aE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBMb2NhdGlvblNlcnZpY2UsXG4gICAgICAgIFN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICBPQXV0aEh0dHBDbGllbnQsXG4gICAgICAgIHByb3ZpZGVPQXV0aENvbmZpZ0ZhY3RvcnkoKHN0b3JhZ2U6IFN0b3JhZ2UpID0+ICh7XG4gICAgICAgICAgLi4uZGVmYXVsdENvbmZpZyhzdG9yYWdlKSxcbiAgICAgICAgICAuLi5jb25maWdcbiAgICAgICAgfSksIFtTVE9SQUdFXSksXG4gICAgICAgIFRva2VuU2VydmljZSxcbiAgICAgICAgT0F1dGhJbnRlcmNlcHRvclNlcnZpY2UsXG4gICAgICAgIE9BdXRoU2VydmljZSxcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { switchMap, take, throwError } from 'rxjs';
|
|
3
|
-
import { catchError, map } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./token.service";
|
|
6
|
-
import * as i2 from "../models";
|
|
7
|
-
export class OAuthInterceptor {
|
|
8
|
-
constructor(tokenService, authConfig) {
|
|
9
|
-
this.tokenService = tokenService;
|
|
10
|
-
this.authConfig = authConfig;
|
|
11
|
-
}
|
|
12
|
-
intercept(req, next) {
|
|
13
|
-
return this.isPathExcepted(req) && next.handle(req) || this.tokenService.token$.pipe(take(1), map(token => {
|
|
14
|
-
if (token?.access_token) {
|
|
15
|
-
req = req.clone({
|
|
16
|
-
setHeaders: {
|
|
17
|
-
Authorization: `${token.token_type} ${token.access_token}`
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
return req;
|
|
22
|
-
}), switchMap(req => next.handle(req)), catchError((err) => {
|
|
23
|
-
if (err.status === 401) {
|
|
24
|
-
this.tokenService.token = {
|
|
25
|
-
error: `${err.status}`,
|
|
26
|
-
error_description: err.message
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
return throwError(() => err);
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
isPathExcepted(req) {
|
|
33
|
-
const { ignorePaths } = this.authConfig || {};
|
|
34
|
-
if (ignorePaths) {
|
|
35
|
-
for (const ignorePath of ignorePaths) {
|
|
36
|
-
try {
|
|
37
|
-
if (req.url.match(ignorePath)) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
catch (err) {
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
OAuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: OAuthInterceptor, deps: [{ token: i1.TokenService }, { token: i2.OAuthConfig }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
49
|
-
OAuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: OAuthInterceptor });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: OAuthInterceptor, decorators: [{
|
|
51
|
-
type: Injectable
|
|
52
|
-
}], ctorParameters: function () { return [{ type: i1.TokenService }, { type: i2.OAuthConfig }]; } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGguaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtb2F1dGgvc3JjL2xpYi9zZXJ2aWNlcy9vYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSy9DLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFBc0IsWUFBMEIsRUFDMUIsVUFBdUI7UUFEdkIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBYTtJQUM3QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNsRixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1YsSUFBSSxLQUFLLEVBQUUsWUFBWSxFQUFFO2dCQUN2QixHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztvQkFDZCxVQUFVLEVBQUU7d0JBQ1YsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFO3FCQUMzRDtpQkFDRixDQUFDLENBQUM7YUFDSjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNsQyxVQUFVLENBQUMsQ0FBQyxHQUFzQixFQUFFLEVBQUU7WUFDcEMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUc7b0JBQ3hCLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUU7b0JBQ3RCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxPQUFPO2lCQUMvQixDQUFDO2FBQ0g7WUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFxQjtRQUMxQyxNQUFNLEVBQUMsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxXQUFXLEVBQUU7WUFDZixLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRTtnQkFDcEMsSUFBSTtvQkFDRixJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFO3dCQUM3QixPQUFPLElBQUksQ0FBQztxQkFDYjtpQkFDRjtnQkFBQyxPQUFPLEdBQUcsRUFBRTtpQkFDYjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzZHQTdDVSxnQkFBZ0I7aUhBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge3N3aXRjaE1hcCwgdGFrZSwgdGhyb3dFcnJvcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtPQXV0aENvbmZpZ30gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7VG9rZW5TZXJ2aWNlfSBmcm9tICcuL3Rva2VuLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT0F1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRva2VuU2VydmljZTogVG9rZW5TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgYXV0aENvbmZpZzogT0F1dGhDb25maWcpIHtcbiAgfVxuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNQYXRoRXhjZXB0ZWQocmVxKSAmJiBuZXh0LmhhbmRsZShyZXEpIHx8IHRoaXMudG9rZW5TZXJ2aWNlLnRva2VuJC5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCh0b2tlbiA9PiB7XG4gICAgICAgIGlmICh0b2tlbj8uYWNjZXNzX3Rva2VuKSB7XG4gICAgICAgICAgcmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYCR7dG9rZW4udG9rZW5fdHlwZX0gJHt0b2tlbi5hY2Nlc3NfdG9rZW59YFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXE7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcChyZXEgPT4gbmV4dC5oYW5kbGUocmVxKSksXG4gICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICB0aGlzLnRva2VuU2VydmljZS50b2tlbiA9IHtcbiAgICAgICAgICAgIGVycm9yOiBgJHtlcnIuc3RhdHVzfWAsXG4gICAgICAgICAgICBlcnJvcl9kZXNjcmlwdGlvbjogZXJyLm1lc3NhZ2VcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzUGF0aEV4Y2VwdGVkKHJlcTogSHR0cFJlcXVlc3Q8YW55Pikge1xuICAgIGNvbnN0IHtpZ25vcmVQYXRoc30gPSB0aGlzLmF1dGhDb25maWcgfHwge307XG4gICAgaWYgKGlnbm9yZVBhdGhzKSB7XG4gICAgICBmb3IgKGNvbnN0IGlnbm9yZVBhdGggb2YgaWdub3JlUGF0aHMpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAocmVxLnVybC5tYXRjaChpZ25vcmVQYXRoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|