@auth0/auth0-angular 1.11.1 → 2.0.0-beta.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.
Files changed (36) hide show
  1. package/README.md +4 -2
  2. package/{esm2015/auth0-auth0-angular.js → esm2020/auth0-auth0-angular.mjs} +0 -0
  3. package/{esm2015/lib/abstract-navigator.js → esm2020/lib/abstract-navigator.mjs} +6 -5
  4. package/esm2020/lib/auth.client.mjs +23 -0
  5. package/esm2020/lib/auth.config.mjs +97 -0
  6. package/{esm2015/lib/auth.guard.js → esm2020/lib/auth.guard.mjs} +3 -3
  7. package/esm2020/lib/auth.interceptor.mjs +134 -0
  8. package/esm2020/lib/auth.module.mjs +39 -0
  9. package/esm2020/lib/auth.service.mjs +229 -0
  10. package/esm2020/lib/auth.state.mjs +100 -0
  11. package/esm2020/lib/interfaces.mjs +2 -0
  12. package/esm2020/public-api.mjs +13 -0
  13. package/{esm2015/useragent.js → esm2020/useragent.mjs} +2 -2
  14. package/fesm2015/auth0-auth0-angular.mjs +678 -0
  15. package/fesm2015/auth0-auth0-angular.mjs.map +1 -0
  16. package/{fesm2015/auth0-auth0-angular.js → fesm2020/auth0-auth0-angular.mjs} +80 -135
  17. package/fesm2020/auth0-auth0-angular.mjs.map +1 -0
  18. package/lib/abstract-navigator.d.ts +1 -0
  19. package/lib/auth.config.d.ts +4 -134
  20. package/lib/auth.interceptor.d.ts +7 -1
  21. package/lib/auth.module.d.ts +1 -0
  22. package/lib/auth.service.d.ts +8 -67
  23. package/lib/auth.state.d.ts +3 -0
  24. package/lib/interfaces.d.ts +5 -0
  25. package/package.json +23 -10
  26. package/public-api.d.ts +1 -0
  27. package/bundles/auth0-auth0-angular.umd.js +0 -1148
  28. package/bundles/auth0-auth0-angular.umd.js.map +0 -1
  29. package/esm2015/lib/auth.client.js +0 -22
  30. package/esm2015/lib/auth.config.js +0 -95
  31. package/esm2015/lib/auth.interceptor.js +0 -129
  32. package/esm2015/lib/auth.module.js +0 -38
  33. package/esm2015/lib/auth.service.js +0 -294
  34. package/esm2015/lib/auth.state.js +0 -99
  35. package/esm2015/public-api.js +0 -12
  36. package/fesm2015/auth0-auth0-angular.js.map +0 -1
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  A library for integrating [Auth0](https://auth0.com) into an Angular application.
4
4
 
5
+ > :warning: Please be aware that v2 is currently in [**Beta**](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages). Whilst we encourage you to test the update within your applications, we do no recommend using this version in production yet. Please follow the [migration guide](./MIGRATION_GUIDE.md) when updating your application.
6
+
5
7
  ![Release](https://img.shields.io/npm/v/@auth0/auth0-angular)
6
8
  [![Codecov](https://img.shields.io/codecov/c/github/auth0/auth0-angular)](https://codecov.io/gh/auth0/auth0-angular)
7
9
  ![Downloads](https://img.shields.io/npm/dw/@auth0/auth0-angular)
@@ -29,13 +31,13 @@ This project only supports the [actively supported versions of Angular as stated
29
31
  Using npm:
30
32
 
31
33
  ```sh
32
- npm install @auth0/auth0-angular
34
+ npm install @auth0/auth0-angular@beta
33
35
  ```
34
36
 
35
37
  We also have `ng-add` support, so the library can also be installed using the Angular CLI:
36
38
 
37
39
  ```sh
38
- ng add @auth0/auth0-angular
40
+ ng add @auth0/auth0-angular@beta
39
41
  ```
40
42
 
41
43
  ### Configure Auth0
@@ -8,11 +8,12 @@ export class AbstractNavigator {
8
8
  try {
9
9
  this.router = injector.get(Router);
10
10
  }
11
- catch (_a) { }
11
+ catch { }
12
12
  }
13
13
  /**
14
14
  * Navigates to the specified url. The router will be used if one is available, otherwise it falls back
15
15
  * to `window.history.replaceState`.
16
+ *
16
17
  * @param url The url to navigate to
17
18
  */
18
19
  navigateByUrl(url) {
@@ -23,12 +24,12 @@ export class AbstractNavigator {
23
24
  this.location.replaceState(url);
24
25
  }
25
26
  }
26
- AbstractNavigator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AbstractNavigator, deps: [{ token: i1.Location }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
27
- AbstractNavigator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AbstractNavigator, providedIn: 'root' });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AbstractNavigator, decorators: [{
27
+ AbstractNavigator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigator, deps: [{ token: i1.Location }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
28
+ AbstractNavigator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigator, providedIn: 'root' });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigator, decorators: [{
29
30
  type: Injectable,
30
31
  args: [{
31
32
  providedIn: 'root',
32
33
  }]
33
34
  }], ctorParameters: function () { return [{ type: i1.Location }, { type: i0.Injector }]; } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvbGliL2Fic3RyYWN0LW5hdmlnYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTXpDLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBb0IsUUFBa0IsRUFBRSxRQUFrQjtRQUF0QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLElBQUk7WUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDcEM7UUFBQyxXQUFNLEdBQUU7SUFDWixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxHQUFXO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRS9CLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OytHQXRCVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0TmF2aWdhdG9yIHtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI/OiBSb3V0ZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnJvdXRlciA9IGluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZXMgdG8gdGhlIHNwZWNpZmllZCB1cmwuIFRoZSByb3V0ZXIgd2lsbCBiZSB1c2VkIGlmIG9uZSBpcyBhdmFpbGFibGUsIG90aGVyd2lzZSBpdCBmYWxscyBiYWNrXG4gICAqIHRvIGB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGVgLlxuICAgKiBAcGFyYW0gdXJsIFRoZSB1cmwgdG8gbmF2aWdhdGUgdG9cbiAgICovXG4gIG5hdmlnYXRlQnlVcmwodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yb3V0ZXIpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodXJsKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKHVybCk7XG4gIH1cbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvbGliL2Fic3RyYWN0LW5hdmlnYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTXpDLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBb0IsUUFBa0IsRUFBRSxRQUFrQjtRQUF0QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLElBQUk7WUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDcEM7UUFBQyxNQUFNLEdBQUU7SUFDWixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxhQUFhLENBQUMsR0FBVztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUUvQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDOzsrR0F2QlUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdE5hdmlnYXRvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyPzogUm91dGVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5yb3V0ZXIgPSBpbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgICB9IGNhdGNoIHt9XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBzcGVjaWZpZWQgdXJsLiBUaGUgcm91dGVyIHdpbGwgYmUgdXNlZCBpZiBvbmUgaXMgYXZhaWxhYmxlLCBvdGhlcndpc2UgaXQgZmFsbHMgYmFja1xuICAgKiB0byBgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlYC5cbiAgICpcbiAgICogQHBhcmFtIHVybCBUaGUgdXJsIHRvIG5hdmlnYXRlIHRvXG4gICAqL1xuICBuYXZpZ2F0ZUJ5VXJsKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucm91dGVyKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSh1cmwpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { InjectionToken, VERSION } from '@angular/core';
2
+ import { Auth0Client } from '@auth0/auth0-spa-js';
3
+ import useragent from '../useragent';
4
+ export class Auth0ClientFactory {
5
+ static createClient(configFactory) {
6
+ const config = configFactory.get();
7
+ if (!config) {
8
+ throw new Error('Configuration must be specified either through AuthModule.forRoot or through AuthClientConfig.set');
9
+ }
10
+ return new Auth0Client({
11
+ ...config,
12
+ auth0Client: {
13
+ name: useragent.name,
14
+ version: useragent.version,
15
+ env: {
16
+ 'angular/core': VERSION.full,
17
+ },
18
+ },
19
+ });
20
+ }
21
+ }
22
+ export const Auth0ClientService = new InjectionToken('auth0.client');
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy9saWIvYXV0aC5jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQztBQUVyQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBK0I7UUFDakQsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRW5DLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxNQUFNLElBQUksS0FBSyxDQUNiLG1HQUFtRyxDQUNwRyxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksV0FBVyxDQUFDO1lBQ3JCLEdBQUcsTUFBTTtZQUNULFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7Z0JBQ3BCLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztnQkFDMUIsR0FBRyxFQUFFO29CQUNILGNBQWMsRUFBRSxPQUFPLENBQUMsSUFBSTtpQkFDN0I7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNsRCxjQUFjLENBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWRVJTSU9OIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoMENsaWVudCB9IGZyb20gJ0BhdXRoMC9hdXRoMC1zcGEtanMnO1xuaW1wb3J0IHsgQXV0aENsaWVudENvbmZpZyB9IGZyb20gJy4vYXV0aC5jb25maWcnO1xuaW1wb3J0IHVzZXJhZ2VudCBmcm9tICcuLi91c2VyYWdlbnQnO1xuXG5leHBvcnQgY2xhc3MgQXV0aDBDbGllbnRGYWN0b3J5IHtcbiAgc3RhdGljIGNyZWF0ZUNsaWVudChjb25maWdGYWN0b3J5OiBBdXRoQ2xpZW50Q29uZmlnKTogQXV0aDBDbGllbnQge1xuICAgIGNvbnN0IGNvbmZpZyA9IGNvbmZpZ0ZhY3RvcnkuZ2V0KCk7XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ29uZmlndXJhdGlvbiBtdXN0IGJlIHNwZWNpZmllZCBlaXRoZXIgdGhyb3VnaCBBdXRoTW9kdWxlLmZvclJvb3Qgb3IgdGhyb3VnaCBBdXRoQ2xpZW50Q29uZmlnLnNldCdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBBdXRoMENsaWVudCh7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBhdXRoMENsaWVudDoge1xuICAgICAgICBuYW1lOiB1c2VyYWdlbnQubmFtZSxcbiAgICAgICAgdmVyc2lvbjogdXNlcmFnZW50LnZlcnNpb24sXG4gICAgICAgIGVudjoge1xuICAgICAgICAgICdhbmd1bGFyL2NvcmUnOiBWRVJTSU9OLmZ1bGwsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBdXRoMENsaWVudFNlcnZpY2UgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXV0aDBDbGllbnQ+KFxuICAnYXV0aDAuY2xpZW50J1xuKTtcbiJdfQ==
@@ -0,0 +1,97 @@
1
+ import { InjectionToken, Injectable, Optional, Inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * A custom type guard to help identify route definitions that are actually HttpInterceptorRouteConfig types.
5
+ *
6
+ * @param def The route definition type
7
+ */
8
+ export function isHttpInterceptorRouteConfig(def) {
9
+ return typeof def !== 'string';
10
+ }
11
+ /**
12
+ * Gets and sets configuration for the internal Auth0 client. This can be
13
+ * used to provide configuration outside of using AuthModule.forRoot, i.e. from
14
+ * a factory provided by APP_INITIALIZER.
15
+ *
16
+ * @usage
17
+ *
18
+ * ```js
19
+ * // app.module.ts
20
+ * // ---------------------------
21
+ * import { AuthModule, AuthClientConfig } from '@auth0/auth0-angular';
22
+ *
23
+ * // Provide an initializer function that returns a Promise
24
+ * function configInitializer(
25
+ * http: HttpClient,
26
+ * config: AuthClientConfig
27
+ * ) {
28
+ * return () =>
29
+ * http
30
+ * .get('/config')
31
+ * .toPromise()
32
+ * .then((loadedConfig: any) => config.set(loadedConfig)); // Set the config that was loaded asynchronously here
33
+ * }
34
+ *
35
+ * // Provide APP_INITIALIZER with this function. Note that there is no config passed to AuthModule.forRoot
36
+ * imports: [
37
+ * // other imports..
38
+ *
39
+ * HttpClientModule,
40
+ * AuthModule.forRoot(), //<- don't pass any config here
41
+ * ],
42
+ * providers: [
43
+ * {
44
+ * provide: APP_INITIALIZER,
45
+ * useFactory: configInitializer, // <- pass your initializer function here
46
+ * deps: [HttpClient, AuthClientConfig],
47
+ * multi: true,
48
+ * },
49
+ * ],
50
+ * ```
51
+ *
52
+ */
53
+ export class AuthClientConfig {
54
+ constructor(config) {
55
+ if (config) {
56
+ this.set(config);
57
+ }
58
+ }
59
+ /**
60
+ * Sets configuration to be read by other consumers of the service (see usage notes)
61
+ *
62
+ * @param config The configuration to set
63
+ */
64
+ set(config) {
65
+ this.config = config;
66
+ }
67
+ /**
68
+ * Gets the config that has been set by other consumers of the service
69
+ */
70
+ get() {
71
+ return this.config;
72
+ }
73
+ }
74
+ AuthClientConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthClientConfig, deps: [{ token: AuthConfigService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
75
+ AuthClientConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthClientConfig, providedIn: 'root' });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthClientConfig, decorators: [{
77
+ type: Injectable,
78
+ args: [{ providedIn: 'root' }]
79
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
80
+ type: Optional
81
+ }, {
82
+ type: Inject,
83
+ args: [AuthConfigService]
84
+ }] }]; } });
85
+ /**
86
+ * Injection token for accessing configuration.
87
+ *
88
+ * @usageNotes
89
+ *
90
+ * Use the `Inject` decorator to access the configuration from a service or component:
91
+ *
92
+ * ```
93
+ * class MyService(@Inject(AuthConfigService) config: AuthConfig) {}
94
+ * ```
95
+ */
96
+ export const AuthConfigService = new InjectionToken('auth0-angular.config');
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy9saWIvYXV0aC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFzQjdFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLEdBQXVCO0lBRXZCLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDO0FBQ2pDLENBQUM7QUFvSEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNHO0FBRUgsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFtRCxNQUFtQjtRQUNwRSxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxNQUFrQjtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBb0IsQ0FBQztJQUNuQyxDQUFDOzs4R0F2QlUsZ0JBQWdCLGtCQUdLLGlCQUFpQjtrSEFIdEMsZ0JBQWdCLGNBREgsTUFBTTs0RkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBSW5CLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCOztBQXVCbkQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUNqRCxzQkFBc0IsQ0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF1dGgwQ2xpZW50T3B0aW9ucyxcbiAgQ2FjaGVMb2NhdGlvbixcbiAgR2V0VG9rZW5TaWxlbnRseU9wdGlvbnMsXG4gIElDYWNoZSxcbn0gZnJvbSAnQGF1dGgwL2F1dGgwLXNwYS1qcyc7XG5cbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RhYmxlLCBPcHRpb25hbCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRGVmaW5lcyBhIGNvbW1vbiBzZXQgb2YgSFRUUCBtZXRob2RzLlxuICovXG5leHBvcnQgY29uc3QgZW51bSBIdHRwTWV0aG9kIHtcbiAgR2V0ID0gJ0dFVCcsXG4gIFBvc3QgPSAnUE9TVCcsXG4gIFB1dCA9ICdQVVQnLFxuICBQYXRjaCA9ICdQQVRDSCcsXG4gIERlbGV0ZSA9ICdERUxFVEUnLFxuICBIZWFkID0gJ0hFQUQnLFxufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIHR5cGUgZm9yIGEgcm91dGUgY29uZmlnIGVudHJ5LiBDYW4gZWl0aGVyIGJlOlxuICpcbiAqIC0gYW4gb2JqZWN0IG9mIHR5cGUgSHR0cEludGVyY2VwdG9yUm91dGVDb25maWdcbiAqIC0gYSBzdHJpbmdcbiAqL1xuZXhwb3J0IHR5cGUgQXBpUm91dGVEZWZpbml0aW9uID0gSHR0cEludGVyY2VwdG9yUm91dGVDb25maWcgfCBzdHJpbmc7XG5cbi8qKlxuICogQSBjdXN0b20gdHlwZSBndWFyZCB0byBoZWxwIGlkZW50aWZ5IHJvdXRlIGRlZmluaXRpb25zIHRoYXQgYXJlIGFjdHVhbGx5IEh0dHBJbnRlcmNlcHRvclJvdXRlQ29uZmlnIHR5cGVzLlxuICpcbiAqIEBwYXJhbSBkZWYgVGhlIHJvdXRlIGRlZmluaXRpb24gdHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNIdHRwSW50ZXJjZXB0b3JSb3V0ZUNvbmZpZyhcbiAgZGVmOiBBcGlSb3V0ZURlZmluaXRpb25cbik6IGRlZiBpcyBIdHRwSW50ZXJjZXB0b3JSb3V0ZUNvbmZpZyB7XG4gIHJldHVybiB0eXBlb2YgZGVmICE9PSAnc3RyaW5nJztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgSHR0cEludGVyY2VwdG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEludGVyY2VwdG9yQ29uZmlnIHtcbiAgYWxsb3dlZExpc3Q6IEFwaVJvdXRlRGVmaW5pdGlvbltdO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGEgc2luZ2xlIGludGVyY2VwdG9yIHJvdXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEludGVyY2VwdG9yUm91dGVDb25maWcge1xuICAvKipcbiAgICogVGhlIFVSTCB0byB0ZXN0LCBieSBzdXBwbHlpbmcgdGhlIFVSTCB0byBtYXRjaC5cbiAgICogSWYgYHRlc3RgIGlzIGEgbWF0Y2ggZm9yIHRoZSBjdXJyZW50IHJlcXVlc3QgcGF0aCBmcm9tIHRoZSBIVFRQIGNsaWVudCwgdGhlblxuICAgKiBhbiBhY2Nlc3MgdG9rZW4gaXMgYXR0YWNoZWQgdG8gdGhlIHJlcXVlc3QgaW4gdGhlXG4gICAqICBbXCJBdXRob3JpemF0aW9uXCIgaGVhZGVyXShodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1vYXV0aC12Mi1iZWFyZXItMjAjc2VjdGlvbi0yLjEpLlxuICAgKlxuICAgKiBJZiB0aGUgdGVzdCBkb2VzIG5vdCBwYXNzLCB0aGUgcmVxdWVzdCBwcm9jZWVkcyB3aXRob3V0IHRoZSBhY2Nlc3MgdG9rZW4gYXR0YWNoZWQuXG4gICAqXG4gICAqIEEgd2lsZGNhcmQgY2hhcmFjdGVyIGNhbiBiZSB1c2VkIHRvIG1hdGNoIG9ubHkgdGhlIHN0YXJ0IG9mIHRoZSBVUkwuXG4gICAqXG4gICAqIEB1c2FnZW5vdGVzXG4gICAqXG4gICAqICcvYXBpJyAtIGV4YWN0bHkgbWF0Y2ggdGhlIHJvdXRlIC9hcGlcbiAgICogJy9hcGkvKicgLSBtYXRjaCBhbnkgcm91dGUgdGhhdCBzdGFydHMgd2l0aCAvYXBpL1xuICAgKi9cbiAgdXJpPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgSHR0cFJlcXVlc3QudXJsIHZhbHVlLCBhbGxvd2luZyB5b3UgdG8gZG9cbiAgICogYW55IGtpbmQgb2YgZmxleGlibGUgbWF0Y2hpbmcuXG4gICAqXG4gICAqIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlLCB0aGVuXG4gICAqIGFuIGFjY2VzcyB0b2tlbiBpcyBhdHRhY2hlZCB0byB0aGUgcmVxdWVzdCBpbiB0aGVcbiAgICogIFtcIkF1dGhvcml6YXRpb25cIiBoZWFkZXJdKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW9hdXRoLXYyLWJlYXJlci0yMCNzZWN0aW9uLTIuMSkuXG4gICAqXG4gICAqIElmIGl0IHJldHVybnMgZmFsc2UsIHRoZSByZXF1ZXN0IHByb2NlZWRzIHdpdGhvdXQgdGhlIGFjY2VzcyB0b2tlbiBhdHRhY2hlZC5cbiAgICovXG4gIHVyaU1hdGNoZXI/OiAodXJpOiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byB0aGUgU0RLIHdoZW4gcmV0cmlldmluZyB0aGVcbiAgICogYWNjZXNzIHRva2VuIHRvIGF0dGFjaCB0byB0aGUgb3V0Z29pbmcgcmVxdWVzdC5cbiAgICovXG4gIHRva2VuT3B0aW9ucz86IEdldFRva2VuU2lsZW50bHlPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUCBtZXRob2QgdG8gbWF0Y2ggb24uIElmIHNwZWNpZmllZCwgdGhlIEhUVFAgbWV0aG9kIG9mXG4gICAqIHRoZSBvdXRnb2luZyByZXF1ZXN0IHdpbGwgYmUgY2hlY2tlZCBhZ2FpbnN0IHRoaXMuIElmIHRoZXJlIGlzIG5vIG1hdGNoLCB0aGVcbiAgICogQXV0aG9yaXphdGlvbiBoZWFkZXIgaXMgbm90IGF0dGFjaGVkLlxuICAgKlxuICAgKiBUaGUgSFRUUCBtZXRob2QgbmFtZSBpcyBjYXNlLXNlbnNpdGl2ZS5cbiAgICovXG4gIGh0dHBNZXRob2Q/OiBIdHRwTWV0aG9kIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbGxvdyB0aGUgSFRUUCBjYWxsIHRvIGJlIGV4ZWN1dGVkIGFub255bW91c2x5LCB3aGVuIG5vIHRva2VuIGlzIGF2YWlsYWJsZS5cbiAgICpcbiAgICogV2hlbiBvbWl0dGVkIChvciBzZXQgdG8gZmFsc2UpLCBjYWxscyB0aGF0IG1hdGNoIHRoZSBjb25maWd1cmF0aW9uIHdpbGwgZmFpbCB3aGVuIG5vIHRva2VuIGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIGFsbG93QW5vbnltb3VzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgYXV0aGVudGljYXRpb24gc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDb25maWcgZXh0ZW5kcyBBdXRoMENsaWVudE9wdGlvbnMge1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgaWYgdGhlIHBhZ2UgVVJMIGhhcyBjb2RlIGFuZCBzdGF0ZSBwYXJhbWV0ZXJzLCB0aGUgU0RLIHdpbGwgYXNzdW1lIHRoZXkgYXJlIGZvclxuICAgKiBhbiBBdXRoMCBhcHBsaWNhdGlvbiBhbmQgYXR0ZW1wdCB0byBleGNoYW5nZSB0aGUgY29kZSBmb3IgYSB0b2tlbi5cbiAgICogSW4gc29tZSBjYXNlcyB0aGUgY29kZSBtaWdodCBiZSBmb3Igc29tZXRoaW5nIGVsc2UgKGUuZy4gYW5vdGhlciBPQXV0aCBTREspLiBJbiB0aGVzZVxuICAgKiBpbnN0YW5jZXMgeW91IGNhbiBpbnN0cnVjdCB0aGUgY2xpZW50IHRvIGlnbm9yZSB0aGVtIGJ5IHNldHRpbmcgYHNraXBSZWRpcmVjdENhbGxiYWNrYC5cbiAgICpcbiAgICogYGBganNcbiAgICogQXV0aE1vZHVsZS5mb3JSb290KHtcbiAgICogICBza2lwUmVkaXJlY3RDYWxsYmFjazogd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lID09PSAnL290aGVyLWNhbGxiYWNrJ1xuICAgKiB9KVxuICAgKiBgYGBcbiAgICpcbiAgICogKipOb3RlKio6IEluIHRoZSBhYm92ZSBleGFtcGxlLCBgL290aGVyLWNhbGxiYWNrYCBpcyBhbiBleGlzdGluZyByb3V0ZSB0aGF0IHdpbGwgYmUgY2FsbGVkXG4gICAqIGJ5IGFueSBvdGhlciBPQXV0aCBwcm92aWRlciB3aXRoIGEgYGNvZGVgIChvciBgZXJyb3JgIGluIGNhc2Ugd2hlbiBzb21ldGhpbmcgd2VudCB3cm9uZykgYW5kIGBzdGF0ZWAuXG4gICAqXG4gICAqL1xuICBza2lwUmVkaXJlY3RDYWxsYmFjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBidWlsdC1pbiBIdHRwIEludGVyY2VwdG9yLCB1c2VkIGZvclxuICAgKiBhdXRvbWF0aWNhbGx5IGF0dGFjaGluZyBhY2Nlc3MgdG9rZW5zLlxuICAgKi9cbiAgaHR0cEludGVyY2VwdG9yPzogSHR0cEludGVyY2VwdG9yQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBQYXRoIGluIHlvdXIgYXBwbGljYXRpb24gdG8gcmVkaXJlY3QgdG8gd2hlbiB0aGUgQXV0aG9yaXphdGlvbiBzZXJ2ZXJcbiAgICogcmV0dXJucyBhbiBlcnJvci4gRGVmYXVsdHMgdG8gYC9gXG4gICAqL1xuICBlcnJvclBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW5ndWxhciBzcGVjaWZpYyBzdGF0ZSB0byBiZSBzdG9yZWQgYmVmb3JlIHJlZGlyZWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwU3RhdGUge1xuICAvKipcbiAgICogVGFyZ2V0IHBhdGggdGhlIGFwcCBnZXRzIHJvdXRlZCB0byBhZnRlclxuICAgKiBoYW5kbGluZyB0aGUgY2FsbGJhY2sgZnJvbSBBdXRoMCAoZGVmYXVsdHMgdG8gJy8nKVxuICAgKi9cbiAgdGFyZ2V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbnkgY3VzdG9tIHBhcmFtZXRlciB0byBiZSBzdG9yZWQgaW4gYXBwU3RhdGVcbiAgICovXG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuLyoqXG4gKiBHZXRzIGFuZCBzZXRzIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBpbnRlcm5hbCBBdXRoMCBjbGllbnQuIFRoaXMgY2FuIGJlXG4gKiB1c2VkIHRvIHByb3ZpZGUgY29uZmlndXJhdGlvbiBvdXRzaWRlIG9mIHVzaW5nIEF1dGhNb2R1bGUuZm9yUm9vdCwgaS5lLiBmcm9tXG4gKiBhIGZhY3RvcnkgcHJvdmlkZWQgYnkgQVBQX0lOSVRJQUxJWkVSLlxuICpcbiAqIEB1c2FnZVxuICpcbiAqIGBgYGpzXG4gKiAvLyBhcHAubW9kdWxlLnRzXG4gKiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGltcG9ydCB7IEF1dGhNb2R1bGUsIEF1dGhDbGllbnRDb25maWcgfSBmcm9tICdAYXV0aDAvYXV0aDAtYW5ndWxhcic7XG4gKlxuICogLy8gUHJvdmlkZSBhbiBpbml0aWFsaXplciBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBQcm9taXNlXG4gKiBmdW5jdGlvbiBjb25maWdJbml0aWFsaXplcihcbiAqICAgaHR0cDogSHR0cENsaWVudCxcbiAqICAgY29uZmlnOiBBdXRoQ2xpZW50Q29uZmlnXG4gKiApIHtcbiAqICAgcmV0dXJuICgpID0+XG4gKiAgICAgaHR0cFxuICogICAgICAgLmdldCgnL2NvbmZpZycpXG4gKiAgICAgICAudG9Qcm9taXNlKClcbiAqICAgICAgIC50aGVuKChsb2FkZWRDb25maWc6IGFueSkgPT4gY29uZmlnLnNldChsb2FkZWRDb25maWcpKTsgICAvLyBTZXQgdGhlIGNvbmZpZyB0aGF0IHdhcyBsb2FkZWQgYXN5bmNocm9ub3VzbHkgaGVyZVxuICogfVxuICpcbiAqIC8vIFByb3ZpZGUgQVBQX0lOSVRJQUxJWkVSIHdpdGggdGhpcyBmdW5jdGlvbi4gTm90ZSB0aGF0IHRoZXJlIGlzIG5vIGNvbmZpZyBwYXNzZWQgdG8gQXV0aE1vZHVsZS5mb3JSb290XG4gKiBpbXBvcnRzOiBbXG4gKiAgIC8vIG90aGVyIGltcG9ydHMuLlxuICpcbiAqICAgSHR0cENsaWVudE1vZHVsZSxcbiAqICAgQXV0aE1vZHVsZS5mb3JSb290KCksICAgLy88LSBkb24ndCBwYXNzIGFueSBjb25maWcgaGVyZVxuICogXSxcbiAqIHByb3ZpZGVyczogW1xuICogICB7XG4gKiAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICogICAgIHVzZUZhY3Rvcnk6IGNvbmZpZ0luaXRpYWxpemVyLCAgICAvLyA8LSBwYXNzIHlvdXIgaW5pdGlhbGl6ZXIgZnVuY3Rpb24gaGVyZVxuICogICAgIGRlcHM6IFtIdHRwQ2xpZW50LCBBdXRoQ2xpZW50Q29uZmlnXSxcbiAqICAgICBtdWx0aTogdHJ1ZSxcbiAqICAgfSxcbiAqIF0sXG4gKiBgYGBcbiAqXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXV0aENsaWVudENvbmZpZyB7XG4gIHByaXZhdGUgY29uZmlnPzogQXV0aENvbmZpZztcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEF1dGhDb25maWdTZXJ2aWNlKSBjb25maWc/OiBBdXRoQ29uZmlnKSB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5zZXQoY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjb25maWd1cmF0aW9uIHRvIGJlIHJlYWQgYnkgb3RoZXIgY29uc3VtZXJzIG9mIHRoZSBzZXJ2aWNlIChzZWUgdXNhZ2Ugbm90ZXMpXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gdG8gc2V0XG4gICAqL1xuICBzZXQoY29uZmlnOiBBdXRoQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY29uZmlnIHRoYXQgaGFzIGJlZW4gc2V0IGJ5IG90aGVyIGNvbnN1bWVycyBvZiB0aGUgc2VydmljZVxuICAgKi9cbiAgZ2V0KCk6IEF1dGhDb25maWcge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZyBhcyBBdXRoQ29uZmlnO1xuICB9XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciBhY2Nlc3NpbmcgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqIFVzZSB0aGUgYEluamVjdGAgZGVjb3JhdG9yIHRvIGFjY2VzcyB0aGUgY29uZmlndXJhdGlvbiBmcm9tIGEgc2VydmljZSBvciBjb21wb25lbnQ6XG4gKlxuICogYGBgXG4gKiBjbGFzcyBNeVNlcnZpY2UoQEluamVjdChBdXRoQ29uZmlnU2VydmljZSkgY29uZmlnOiBBdXRoQ29uZmlnKSB7fVxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBBdXRoQ29uZmlnU2VydmljZSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBdXRoQ29uZmlnPihcbiAgJ2F1dGgwLWFuZ3VsYXIuY29uZmlnJ1xuKTtcbiJdfQ==
@@ -25,9 +25,9 @@ export class AuthGuard {
25
25
  }));
26
26
  }
27
27
  }
28
- AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthGuard, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
29
- AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthGuard, providedIn: 'root' });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthGuard, decorators: [{
28
+ AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthGuard, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
29
+ AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthGuard, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthGuard, decorators: [{
31
31
  type: Injectable,
32
32
  args: [{
33
33
  providedIn: 'root',
@@ -0,0 +1,134 @@
1
+ import { from, of, iif, throwError } from 'rxjs';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { isHttpInterceptorRouteConfig, } from './auth.config';
4
+ import { switchMap, first, concatMap, catchError, tap, filter, mergeMap, mapTo, pluck, } from 'rxjs/operators';
5
+ import { Auth0ClientService } from './auth.client';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./auth.config";
8
+ import * as i2 from "./auth.state";
9
+ import * as i3 from "./auth.service";
10
+ import * as i4 from "@auth0/auth0-spa-js";
11
+ const waitUntil = (signal$) => (source$) => source$.pipe(mergeMap((value) => signal$.pipe(first(), mapTo(value))));
12
+ export class AuthHttpInterceptor {
13
+ constructor(configFactory, auth0Client, authState, authService) {
14
+ this.configFactory = configFactory;
15
+ this.auth0Client = auth0Client;
16
+ this.authState = authState;
17
+ this.authService = authService;
18
+ }
19
+ intercept(req, next) {
20
+ const config = this.configFactory.get();
21
+ if (!config.httpInterceptor?.allowedList) {
22
+ return next.handle(req);
23
+ }
24
+ const isLoaded$ = this.authService.isLoading$.pipe(filter((isLoading) => !isLoading));
25
+ return this.findMatchingRoute(req, config.httpInterceptor).pipe(concatMap((route) => iif(
26
+ // Check if a route was matched
27
+ () => route !== null,
28
+ // If we have a matching route, call getTokenSilently and attach the token to the
29
+ // outgoing request
30
+ of(route).pipe(waitUntil(isLoaded$), pluck('tokenOptions'), concatMap((options) => this.getAccessTokenSilently(options).pipe(catchError((err) => {
31
+ if (this.allowAnonymous(route, err)) {
32
+ return of('');
33
+ }
34
+ this.authState.setError(err);
35
+ return throwError(err);
36
+ }))), switchMap((token) => {
37
+ // Clone the request and attach the bearer token
38
+ const clone = token
39
+ ? req.clone({
40
+ headers: req.headers.set('Authorization', `Bearer ${token}`),
41
+ })
42
+ : req;
43
+ return next.handle(clone);
44
+ })),
45
+ // If the URI being called was not found in our httpInterceptor config, simply
46
+ // pass the request through without attaching a token
47
+ next.handle(req))));
48
+ }
49
+ /**
50
+ * Duplicate of AuthService.getAccessTokenSilently, but with a slightly different error handling.
51
+ * Only used internally in the interceptor.
52
+ *
53
+ * @param options The options for configuring the token fetch.
54
+ */
55
+ getAccessTokenSilently(options) {
56
+ return of(this.auth0Client).pipe(concatMap((client) => client.getTokenSilently(options)), tap((token) => this.authState.setAccessToken(token)), catchError((error) => {
57
+ this.authState.refresh();
58
+ return throwError(error);
59
+ }));
60
+ }
61
+ /**
62
+ * Strips the query and fragment from the given uri
63
+ *
64
+ * @param uri The uri to remove the query and fragment from
65
+ */
66
+ stripQueryFrom(uri) {
67
+ if (uri.indexOf('?') > -1) {
68
+ uri = uri.substr(0, uri.indexOf('?'));
69
+ }
70
+ if (uri.indexOf('#') > -1) {
71
+ uri = uri.substr(0, uri.indexOf('#'));
72
+ }
73
+ return uri;
74
+ }
75
+ /**
76
+ * Determines whether the specified route can have an access token attached to it, based on matching the HTTP request against
77
+ * the interceptor route configuration.
78
+ *
79
+ * @param route The route to test
80
+ * @param request The HTTP request
81
+ */
82
+ canAttachToken(route, request) {
83
+ const testPrimitive = (value) => {
84
+ if (!value) {
85
+ return false;
86
+ }
87
+ const requestPath = this.stripQueryFrom(request.url);
88
+ if (value === requestPath) {
89
+ return true;
90
+ }
91
+ // If the URL ends with an asterisk, match using startsWith.
92
+ return (value.indexOf('*') === value.length - 1 &&
93
+ request.url.startsWith(value.substr(0, value.length - 1)));
94
+ };
95
+ if (isHttpInterceptorRouteConfig(route)) {
96
+ if (route.httpMethod && route.httpMethod !== request.method) {
97
+ return false;
98
+ }
99
+ /* istanbul ignore if */
100
+ if (!route.uri && !route.uriMatcher) {
101
+ console.warn('Either a uri or uriMatcher is required when configuring the HTTP interceptor.');
102
+ }
103
+ return route.uriMatcher
104
+ ? route.uriMatcher(request.url)
105
+ : testPrimitive(route.uri);
106
+ }
107
+ return testPrimitive(route);
108
+ }
109
+ /**
110
+ * Tries to match a route from the SDK configuration to the HTTP request.
111
+ * If a match is found, the route configuration is returned.
112
+ *
113
+ * @param request The Http request
114
+ * @param config HttpInterceptorConfig
115
+ */
116
+ findMatchingRoute(request, config) {
117
+ return from(config.allowedList).pipe(first((route) => this.canAttachToken(route, request), null));
118
+ }
119
+ allowAnonymous(route, err) {
120
+ return (!!route &&
121
+ isHttpInterceptorRouteConfig(route) &&
122
+ !!route.allowAnonymous &&
123
+ ['login_required', 'consent_required'].includes(err.error));
124
+ }
125
+ }
126
+ AuthHttpInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthHttpInterceptor, deps: [{ token: i1.AuthClientConfig }, { token: Auth0ClientService }, { token: i2.AuthState }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
127
+ AuthHttpInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthHttpInterceptor });
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthHttpInterceptor, decorators: [{
129
+ type: Injectable
130
+ }], ctorParameters: function () { return [{ type: i1.AuthClientConfig }, { type: i4.Auth0Client, decorators: [{
131
+ type: Inject,
132
+ args: [Auth0ClientService]
133
+ }] }, { type: i2.AuthState }, { type: i3.AuthService }]; } });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2F1dGgwLWFuZ3VsYXIvc3JjL2xpYi9hdXRoLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBYyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUVMLDRCQUE0QixHQUc3QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEdBQUcsRUFDSCxNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEdBQ04sTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUluRCxNQUFNLFNBQVMsR0FBRyxDQUFVLE9BQTRCLEVBQUUsRUFBRSxDQUFDLENBQzNELE9BQTRCLEVBQzVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFHNUUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUNVLGFBQStCLEVBQ0gsV0FBd0IsRUFDcEQsU0FBb0IsRUFDcEIsV0FBd0I7UUFIeEIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQ0gsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDcEQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUMvQixDQUFDO0lBRUosU0FB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LElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtnQkFDbkMsT0FBTyxDQUFDLElBQUksQ0FDViwrRUFBK0UsQ0FDaEYsQ0FBQzthQUNIO1lBRUQsT0FBTyxLQUFLLENBQUMsVUFBVTtnQkFDckIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUI7UUFFRCxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssaUJBQWlCLENBQ3ZCLE9BQXlCLEVBQ3pCLE1BQTZCO1FBRTdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ2xDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQzVELENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWdDLEVBQUUsR0FBUTtRQUMvRCxPQUFPLENBQ0wsQ0FBQyxDQUFDLEtBQUs7WUFDUCw0QkFBNEIsQ0FBQyxLQUFLLENBQUM7WUFDbkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjO1lBQ3RCLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUMzRCxDQUFDO0lBQ0osQ0FBQzs7aUhBN0tVLG1CQUFtQixrREFHcEIsa0JBQWtCO3FIQUhqQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7MEJBSU4sTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEV2ZW50LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIG9mLCBpaWYsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBBcGlSb3V0ZURlZmluaXRpb24sXG4gIGlzSHR0cEludGVyY2VwdG9yUm91dGVDb25maWcsXG4gIEF1dGhDbGllbnRDb25maWcsXG4gIEh0dHBJbnRlcmNlcHRvckNvbmZpZyxcbn0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5cbmltcG9ydCB7XG4gIHN3aXRjaE1hcCxcbiAgZmlyc3QsXG4gIGNvbmNhdE1hcCxcbiAgY2F0Y2hFcnJvcixcbiAgdGFwLFxuICBmaWx0ZXIsXG4gIG1lcmdlTWFwLFxuICBtYXBUbyxcbiAgcGx1Y2ssXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGgwQ2xpZW50LCBHZXRUb2tlblNpbGVudGx5T3B0aW9ucyB9IGZyb20gJ0BhdXRoMC9hdXRoMC1zcGEtanMnO1xuaW1wb3J0IHsgQXV0aDBDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLmNsaWVudCc7XG5pbXBvcnQgeyBBdXRoU3RhdGUgfSBmcm9tICcuL2F1dGguc3RhdGUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5cbmNvbnN0IHdhaXRVbnRpbCA9IDxUU2lnbmFsPihzaWduYWwkOiBPYnNlcnZhYmxlPFRTaWduYWw+KSA9PiA8VFNvdXJjZT4oXG4gIHNvdXJjZSQ6IE9ic2VydmFibGU8VFNvdXJjZT5cbikgPT4gc291cmNlJC5waXBlKG1lcmdlTWFwKCh2YWx1ZSkgPT4gc2lnbmFsJC5waXBlKGZpcnN0KCksIG1hcFRvKHZhbHVlKSkpKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhIdHRwSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpZ0ZhY3Rvcnk6IEF1dGhDbGllbnRDb25maWcsXG4gICAgQEluamVjdChBdXRoMENsaWVudFNlcnZpY2UpIHByaXZhdGUgYXV0aDBDbGllbnQ6IEF1dGgwQ2xpZW50LFxuICAgIHByaXZhdGUgYXV0aFN0YXRlOiBBdXRoU3RhdGUsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICkge31cblxuICBpbnRlcmNlcHQoXG4gICAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZ0ZhY3RvcnkuZ2V0KCk7XG4gICAgaWYgKCFjb25maWcuaHR0cEludGVyY2VwdG9yPy5hbGxvd2VkTGlzdCkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNMb2FkZWQkID0gdGhpcy5hdXRoU2VydmljZS5pc0xvYWRpbmckLnBpcGUoXG4gICAgICBmaWx0ZXIoKGlzTG9hZGluZykgPT4gIWlzTG9hZGluZyksXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmZpbmRNYXRjaGluZ1JvdXRlKHJlcSwgY29uZmlnLmh0dHBJbnRlcmNlcHRvcikucGlwZShcbiAgICAgIGNvbmNhdE1hcCgocm91dGUpID0+XG4gICAgICAgIGlpZihcbiAgICAgICAgICAvLyBDaGVjayBpZiBhIHJvdXRlIHdhcyBtYXRjaGVkXG4gICAgICAgICAgKCkgPT4gcm91dGUgIT09IG51bGwsXG4gICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIG1hdGNoaW5nIHJvdXRlLCBjYWxsIGdldFRva2VuU2lsZW50bHkgYW5kIGF0dGFjaCB0aGUgdG9rZW4gdG8gdGhlXG4gICAgICAgICAgLy8gb3V0Z29pbmcgcmVxdWVzdFxuICAgICAgICAgIG9mKHJvdXRlKS5waXBlKFxuICAgICAgICAgICAgd2FpdFVudGlsKGlzTG9hZGVkJCksXG4gICAgICAgICAgICBwbHVjaygndG9rZW5PcHRpb25zJyksXG4gICAgICAgICAgICBjb25jYXRNYXA8R2V0VG9rZW5TaWxlbnRseU9wdGlvbnMsIE9ic2VydmFibGU8c3RyaW5nPj4oKG9wdGlvbnMpID0+XG4gICAgICAgICAgICAgIHRoaXMuZ2V0QWNjZXNzVG9rZW5TaWxlbnRseShvcHRpb25zKS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYWxsb3dBbm9ueW1vdXMocm91dGUsIGVycikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgdGhpcy5hdXRoU3RhdGUuc2V0RXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodG9rZW46IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAvLyBDbG9uZSB0aGUgcmVxdWVzdCBhbmQgYXR0YWNoIHRoZSBiZWFyZXIgdG9rZW5cbiAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSB0b2tlblxuICAgICAgICAgICAgICAgID8gcmVxLmNsb25lKHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICdBdXRob3JpemF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICBgQmVhcmVyICR7dG9rZW59YFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IHJlcTtcblxuICAgICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoY2xvbmUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLFxuICAgICAgICAgIC8vIElmIHRoZSBVUkkgYmVpbmcgY2FsbGVkIHdhcyBub3QgZm91bmQgaW4gb3VyIGh0dHBJbnRlcmNlcHRvciBjb25maWcsIHNpbXBseVxuICAgICAgICAgIC8vIHBhc3MgdGhlIHJlcXVlc3QgdGhyb3VnaCB3aXRob3V0IGF0dGFjaGluZyBhIHRva2VuXG4gICAgICAgICAgbmV4dC5oYW5kbGUocmVxKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEdXBsaWNhdGUgb2YgQXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW5TaWxlbnRseSwgYnV0IHdpdGggYSBzbGlnaHRseSBkaWZmZXJlbnQgZXJyb3IgaGFuZGxpbmcuXG4gICAqIE9ubHkgdXNlZCBpbnRlcm5hbGx5IGluIHRoZSBpbnRlcmNlcHRvci5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIHRoZSB0b2tlbiBmZXRjaC5cbiAgICovXG4gIHByaXZhdGUgZ2V0QWNjZXNzVG9rZW5TaWxlbnRseShcbiAgICBvcHRpb25zPzogR2V0VG9rZW5TaWxlbnRseU9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gb2YodGhpcy5hdXRoMENsaWVudCkucGlwZShcbiAgICAgIGNvbmNhdE1hcCgoY2xpZW50KSA9PiBjbGllbnQuZ2V0VG9rZW5TaWxlbnRseShvcHRpb25zKSksXG4gICAgICB0YXAoKHRva2VuKSA9PiB0aGlzLmF1dGhTdGF0ZS5zZXRBY2Nlc3NUb2tlbih0b2tlbikpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5hdXRoU3RhdGUucmVmcmVzaCgpO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU3RyaXBzIHRoZSBxdWVyeSBhbmQgZnJhZ21lbnQgZnJvbSB0aGUgZ2l2ZW4gdXJpXG4gICAqXG4gICAqIEBwYXJhbSB1cmkgVGhlIHVyaSB0byByZW1vdmUgdGhlIHF1ZXJ5IGFuZCBmcmFnbWVudCBmcm9tXG4gICAqL1xuICBwcml2YXRlIHN0cmlwUXVlcnlGcm9tKHVyaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodXJpLmluZGV4T2YoJz8nKSA+IC0xKSB7XG4gICAgICB1cmkgPSB1cmkuc3Vic3RyKDAsIHVyaS5pbmRleE9mKCc/JykpO1xuICAgIH1cblxuICAgIGlmICh1cmkuaW5kZXhPZignIycpID4gLTEpIHtcbiAgICAgIHVyaSA9IHVyaS5zdWJzdHIoMCwgdXJpLmluZGV4T2YoJyMnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVyaTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCByb3V0ZSBjYW4gaGF2ZSBhbiBhY2Nlc3MgdG9rZW4gYXR0YWNoZWQgdG8gaXQsIGJhc2VkIG9uIG1hdGNoaW5nIHRoZSBIVFRQIHJlcXVlc3QgYWdhaW5zdFxuICAgKiB0aGUgaW50ZXJjZXB0b3Igcm91dGUgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHJvdXRlIFRoZSByb3V0ZSB0byB0ZXN0XG4gICAqIEBwYXJhbSByZXF1ZXN0IFRoZSBIVFRQIHJlcXVlc3RcbiAgICovXG4gIHByaXZhdGUgY2FuQXR0YWNoVG9rZW4oXG4gICAgcm91dGU6IEFwaVJvdXRlRGVmaW5pdGlvbixcbiAgICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+XG4gICk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRlc3RQcmltaXRpdmUgPSAodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT4ge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RQYXRoID0gdGhpcy5zdHJpcFF1ZXJ5RnJvbShyZXF1ZXN0LnVybCk7XG5cbiAgICAgIGlmICh2YWx1ZSA9PT0gcmVxdWVzdFBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBVUkwgZW5kcyB3aXRoIGFuIGFzdGVyaXNrLCBtYXRjaCB1c2luZyBzdGFydHNXaXRoLlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgdmFsdWUuaW5kZXhPZignKicpID09PSB2YWx1ZS5sZW5ndGggLSAxICYmXG4gICAgICAgIHJlcXVlc3QudXJsLnN0YXJ0c1dpdGgodmFsdWUuc3Vic3RyKDAsIHZhbHVlLmxlbmd0aCAtIDEpKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgaWYgKGlzSHR0cEludGVyY2VwdG9yUm91dGVDb25maWcocm91dGUpKSB7XG4gICAgICBpZiAocm91dGUuaHR0cE1ldGhvZCAmJiByb3V0ZS5odHRwTWV0aG9kICE9PSByZXF1ZXN0Lm1ldGhvZCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKCFyb3V0ZS51cmkgJiYgIXJvdXRlLnVyaU1hdGNoZXIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdFaXRoZXIgYSB1cmkgb3IgdXJpTWF0Y2hlciBpcyByZXF1aXJlZCB3aGVuIGNvbmZpZ3VyaW5nIHRoZSBIVFRQIGludGVyY2VwdG9yLidcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJvdXRlLnVyaU1hdGNoZXJcbiAgICAgICAgPyByb3V0ZS51cmlNYXRjaGVyKHJlcXVlc3QudXJsKVxuICAgICAgICA6IHRlc3RQcmltaXRpdmUocm91dGUudXJpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVzdFByaW1pdGl2ZShyb3V0ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZXMgdG8gbWF0Y2ggYSByb3V0ZSBmcm9tIHRoZSBTREsgY29uZmlndXJhdGlvbiB0byB0aGUgSFRUUCByZXF1ZXN0LlxuICAgKiBJZiBhIG1hdGNoIGlzIGZvdW5kLCB0aGUgcm91dGUgY29uZmlndXJhdGlvbiBpcyByZXR1cm5lZC5cbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3QgVGhlIEh0dHAgcmVxdWVzdFxuICAgKiBAcGFyYW0gY29uZmlnIEh0dHBJbnRlcmNlcHRvckNvbmZpZ1xuICAgKi9cbiAgcHJpdmF0ZSBmaW5kTWF0Y2hpbmdSb3V0ZShcbiAgICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LFxuICAgIGNvbmZpZzogSHR0cEludGVyY2VwdG9yQ29uZmlnXG4gICk6IE9ic2VydmFibGU8QXBpUm91dGVEZWZpbml0aW9uIHwgbnVsbD4ge1xuICAgIHJldHVybiBmcm9tKGNvbmZpZy5hbGxvd2VkTGlzdCkucGlwZShcbiAgICAgIGZpcnN0KChyb3V0ZSkgPT4gdGhpcy5jYW5BdHRhY2hUb2tlbihyb3V0ZSwgcmVxdWVzdCksIG51bGwpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWxsb3dBbm9ueW1vdXMocm91dGU6IEFwaVJvdXRlRGVmaW5pdGlvbiB8IG51bGwsIGVycjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhcm91dGUgJiZcbiAgICAgIGlzSHR0cEludGVyY2VwdG9yUm91dGVDb25maWcocm91dGUpICYmXG4gICAgICAhIXJvdXRlLmFsbG93QW5vbnltb3VzICYmXG4gICAgICBbJ2xvZ2luX3JlcXVpcmVkJywgJ2NvbnNlbnRfcmVxdWlyZWQnXS5pbmNsdWRlcyhlcnIuZXJyb3IpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,39 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AuthService } from './auth.service';
3
+ import { AuthConfigService, AuthClientConfig } from './auth.config';
4
+ import { Auth0ClientService, Auth0ClientFactory } from './auth.client';
5
+ import { AuthGuard } from './auth.guard';
6
+ import * as i0 from "@angular/core";
7
+ export class AuthModule {
8
+ /**
9
+ * Initialize the authentication module system. Configuration can either be specified here,
10
+ * or by calling AuthClientConfig.set (perhaps from an APP_INITIALIZER factory function).
11
+ *
12
+ * @param config The optional configuration for the SDK.
13
+ */
14
+ static forRoot(config) {
15
+ return {
16
+ ngModule: AuthModule,
17
+ providers: [
18
+ AuthService,
19
+ AuthGuard,
20
+ {
21
+ provide: AuthConfigService,
22
+ useValue: config,
23
+ },
24
+ {
25
+ provide: Auth0ClientService,
26
+ useFactory: Auth0ClientFactory.createClient,
27
+ deps: [AuthClientConfig],
28
+ },
29
+ ],
30
+ };
31
+ }
32
+ }
33
+ AuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
34
+ AuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthModule });
35
+ AuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthModule });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthModule, decorators: [{
37
+ type: NgModule
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy9saWIvYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFHekMsTUFBTSxPQUFPLFVBQVU7SUFDckI7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQW1CO1FBQ2hDLE9BQU87WUFDTCxRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1QsV0FBVztnQkFDWCxTQUFTO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixVQUFVLEVBQUUsa0JBQWtCLENBQUMsWUFBWTtvQkFDM0MsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQ3pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7d0dBeEJVLFVBQVU7eUdBQVYsVUFBVTt5R0FBVixVQUFVOzRGQUFWLFVBQVU7a0JBRHRCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnLCBBdXRoQ29uZmlnU2VydmljZSwgQXV0aENsaWVudENvbmZpZyB9IGZyb20gJy4vYXV0aC5jb25maWcnO1xuaW1wb3J0IHsgQXV0aDBDbGllbnRTZXJ2aWNlLCBBdXRoMENsaWVudEZhY3RvcnkgfSBmcm9tICcuL2F1dGguY2xpZW50JztcbmltcG9ydCB7IEF1dGhHdWFyZCB9IGZyb20gJy4vYXV0aC5ndWFyZCc7XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgQXV0aE1vZHVsZSB7XG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBhdXRoZW50aWNhdGlvbiBtb2R1bGUgc3lzdGVtLiBDb25maWd1cmF0aW9uIGNhbiBlaXRoZXIgYmUgc3BlY2lmaWVkIGhlcmUsXG4gICAqIG9yIGJ5IGNhbGxpbmcgQXV0aENsaWVudENvbmZpZy5zZXQgKHBlcmhhcHMgZnJvbSBhbiBBUFBfSU5JVElBTElaRVIgZmFjdG9yeSBmdW5jdGlvbikuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBTREsuXG4gICAqL1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBBdXRoQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBdXRoTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBdXRoTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEF1dGhTZXJ2aWNlLFxuICAgICAgICBBdXRoR3VhcmQsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBdXRoQ29uZmlnU2VydmljZSxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQXV0aDBDbGllbnRTZXJ2aWNlLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IEF1dGgwQ2xpZW50RmFjdG9yeS5jcmVhdGVDbGllbnQsXG4gICAgICAgICAgZGVwczogW0F1dGhDbGllbnRDb25maWddLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=