@fusionauth/angular-sdk 1.3.0 → 2.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.
Files changed (61) hide show
  1. package/README.md +7 -5
  2. package/fesm2022/fusionauth-angular-sdk.mjs +71 -38
  3. package/fesm2022/fusionauth-angular-sdk.mjs.map +1 -1
  4. package/package.json +16 -8
  5. package/types/fusionauth-angular-sdk.d.ts +183 -0
  6. package/esm2022/fusionauth-angular-sdk.mjs +0 -5
  7. package/esm2022/lib/SSRCookieAdapter.mjs +0 -23
  8. package/esm2022/lib/components/fusionauth-account.button/fusion-auth-account-button.component.mjs +0 -18
  9. package/esm2022/lib/components/fusionauth-login.button/fusion-auth-login-button.component.mjs +0 -20
  10. package/esm2022/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.mjs +0 -18
  11. package/esm2022/lib/components/fusionauth-register.button/fusion-auth-register-button.component.mjs +0 -20
  12. package/esm2022/lib/fusion-auth.module.mjs +0 -47
  13. package/esm2022/lib/fusion-auth.service.mjs +0 -118
  14. package/esm2022/lib/injectionToken.mjs +0 -3
  15. package/esm2022/lib/types.mjs +0 -2
  16. package/esm2022/public-api.mjs +0 -11
  17. package/esm2022/sdkcore/CookieHelpers/CookieHelpers.mjs +0 -34
  18. package/esm2022/sdkcore/CookieHelpers/index.mjs +0 -2
  19. package/esm2022/sdkcore/RedirectHelper/RedirectHelper.mjs +0 -47
  20. package/esm2022/sdkcore/RedirectHelper/index.mjs +0 -2
  21. package/esm2022/sdkcore/SDKConfig/SDKConfig.mjs +0 -2
  22. package/esm2022/sdkcore/SDKConfig/index.mjs +0 -2
  23. package/esm2022/sdkcore/SDKContext/SDKContext.mjs +0 -2
  24. package/esm2022/sdkcore/SDKContext/index.mjs +0 -2
  25. package/esm2022/sdkcore/SDKCore/SDKCore.mjs +0 -113
  26. package/esm2022/sdkcore/SDKCore/index.mjs +0 -2
  27. package/esm2022/sdkcore/UrlHelper/UrlHelper.mjs +0 -69
  28. package/esm2022/sdkcore/UrlHelper/UrlHelperTypes.mjs +0 -2
  29. package/esm2022/sdkcore/UrlHelper/index.mjs +0 -3
  30. package/esm2022/sdkcore/index.mjs +0 -4
  31. package/esm2022/sdkcore/testUtils/index.mjs +0 -3
  32. package/esm2022/sdkcore/testUtils/mockLoggedIn.mjs +0 -13
  33. package/esm2022/sdkcore/testUtils/mockWindowLocation.mjs +0 -10
  34. package/index.d.ts +0 -5
  35. package/lib/SSRCookieAdapter.d.ts +0 -7
  36. package/lib/components/fusionauth-account.button/fusion-auth-account-button.component.d.ts +0 -9
  37. package/lib/components/fusionauth-login.button/fusion-auth-login-button.component.d.ts +0 -10
  38. package/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.d.ts +0 -9
  39. package/lib/components/fusionauth-register.button/fusion-auth-register-button.component.d.ts +0 -10
  40. package/lib/fusion-auth.module.d.ts +0 -13
  41. package/lib/fusion-auth.service.d.ts +0 -59
  42. package/lib/injectionToken.d.ts +0 -3
  43. package/lib/types.d.ts +0 -78
  44. package/public-api.d.ts +0 -7
  45. package/sdkcore/CookieHelpers/CookieHelpers.d.ts +0 -11
  46. package/sdkcore/CookieHelpers/index.d.ts +0 -1
  47. package/sdkcore/RedirectHelper/RedirectHelper.d.ts +0 -10
  48. package/sdkcore/RedirectHelper/index.d.ts +0 -1
  49. package/sdkcore/SDKConfig/SDKConfig.d.ts +0 -79
  50. package/sdkcore/SDKConfig/index.d.ts +0 -1
  51. package/sdkcore/SDKContext/SDKContext.d.ts +0 -69
  52. package/sdkcore/SDKContext/index.d.ts +0 -1
  53. package/sdkcore/SDKCore/SDKCore.d.ts +0 -28
  54. package/sdkcore/SDKCore/index.d.ts +0 -1
  55. package/sdkcore/UrlHelper/UrlHelper.d.ts +0 -23
  56. package/sdkcore/UrlHelper/UrlHelperTypes.d.ts +0 -11
  57. package/sdkcore/UrlHelper/index.d.ts +0 -2
  58. package/sdkcore/index.d.ts +0 -5
  59. package/sdkcore/testUtils/index.d.ts +0 -2
  60. package/sdkcore/testUtils/mockLoggedIn.d.ts +0 -5
  61. package/sdkcore/testUtils/mockWindowLocation.d.ts +0 -18
@@ -0,0 +1,183 @@
1
+ import { Observable } from 'rxjs';
2
+ import * as i0 from '@angular/core';
3
+ import { ModuleWithProviders } from '@angular/core';
4
+
5
+ /**
6
+ * Config for FusionAuth Angular SDK
7
+ */
8
+ interface FusionAuthConfig {
9
+ /**
10
+ * The URL of the server that performs the token exchange.
11
+ */
12
+ serverUrl: string;
13
+ /**
14
+ * The client id of the application.
15
+ */
16
+ clientId: string;
17
+ /**
18
+ * The redirect URI of the application.
19
+ */
20
+ redirectUri: string;
21
+ /**
22
+ * The redirect URI for post-logout. Defaults the provided `redirectUri`.
23
+ */
24
+ postLogoutRedirectUri?: string;
25
+ /**
26
+ * The OAuth2 scope parameter passed to the `/oauth2/authorize` endpoint. If not specified fusionauth will default this to `openid offline_access`.
27
+ */
28
+ scope?: string;
29
+ /**
30
+ * Enables automatic token refreshing. Defaults to false.
31
+ */
32
+ shouldAutoRefresh?: boolean;
33
+ /**
34
+ * The number of seconds before the access token expiry when the auto refresh functionality kicks in if enabled. Default is 10.
35
+ */
36
+ autoRefreshSecondsBeforeExpiry?: number;
37
+ /**
38
+ * Callback function to be invoked with the `state` value upon redirect from login or register.
39
+ */
40
+ onRedirect?: (state?: string) => void;
41
+ /**
42
+ * Callback to be invoked if a request to refresh the access token fails during autorefresh.
43
+ */
44
+ onAutoRefreshFailure?: (error: Error) => void;
45
+ /**
46
+ * The path to the login endpoint.
47
+ */
48
+ loginPath?: string;
49
+ /**
50
+ * The path to the register endpoint.
51
+ */
52
+ registerPath?: string;
53
+ /**
54
+ * The path to the logout endpoint.
55
+ */
56
+ logoutPath?: string;
57
+ /**
58
+ * The path to the token refresh endpoint.
59
+ */
60
+ tokenRefreshPath?: string;
61
+ /**
62
+ * The path to the me endpoint.
63
+ */
64
+ mePath?: string;
65
+ }
66
+ interface UserInfo {
67
+ applicationId?: string;
68
+ birthdate?: string;
69
+ email?: string;
70
+ email_verified?: boolean;
71
+ family_name?: string;
72
+ given_name?: string;
73
+ middle_name?: string;
74
+ name?: string;
75
+ phone_number?: string;
76
+ picture?: string;
77
+ preferred_username?: string;
78
+ roles?: any[];
79
+ sid?: string;
80
+ sub?: string;
81
+ tid?: string;
82
+ }
83
+
84
+ /**
85
+ * Service class to use with FusionAuth backend endpoints.
86
+ */
87
+ declare class FusionAuthService<T = UserInfo> {
88
+ private core;
89
+ private autoRefreshTimer?;
90
+ private isLoggedInSubject;
91
+ constructor(config: FusionAuthConfig, platformId: Object);
92
+ /** An observable representing whether the user is logged in. */
93
+ isLoggedIn$: Observable<boolean>;
94
+ /** A function that returns whether the user is logged in. This returned value is non-observable. */
95
+ isLoggedIn(): boolean;
96
+ /**
97
+ * Refreshes the access token a single time.
98
+ * Automatic token refreshing can be enabled if the SDK is configured with `shouldAutoRefresh`.
99
+ */
100
+ refreshToken(): Promise<Response>;
101
+ /**
102
+ * Initializes automatic access token refreshing.
103
+ * This is handled automatically if the SDK is configured with `shouldAutoRefresh`.
104
+ */
105
+ initAutoRefresh(): void;
106
+ /**
107
+ * Returns an observable request that fetches userInfo, and catches error.
108
+ */
109
+ getUserInfoObservable(callbacks?: {
110
+ onBegin?: () => void;
111
+ onDone?: () => void;
112
+ }): Observable<T>;
113
+ /**
114
+ * Fetches userInfo from the 'me' endpoint.
115
+ * @throws {Error} - if an error occurred while fetching.
116
+ */
117
+ getUserInfo<T>(): Promise<T>;
118
+ /**
119
+ * Initiates login flow.
120
+ * @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.
121
+ */
122
+ startLogin(state?: string): void;
123
+ /**
124
+ * Initiates register flow.
125
+ * @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.
126
+ */
127
+ startRegistration(state?: string): void;
128
+ /**
129
+ * Initiates logout flow.
130
+ */
131
+ logout(): void;
132
+ /**
133
+ * Redirects to [self service account management](https://fusionauth.io/docs/lifecycle/manage-users/account-management/)
134
+ * Self service account management is only available in FusionAuth paid plans.
135
+ */
136
+ manageAccount(): void;
137
+ static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthService<any>, never>;
138
+ static ɵprov: i0.ɵɵInjectableDeclaration<FusionAuthService<any>>;
139
+ }
140
+
141
+ declare class FusionAuthLoginButtonComponent {
142
+ private fusionAuth;
143
+ state: string | undefined;
144
+ constructor(fusionAuth: FusionAuthService);
145
+ login(): void;
146
+ static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthLoginButtonComponent, never>;
147
+ static ɵcmp: i0.ɵɵComponentDeclaration<FusionAuthLoginButtonComponent, "fa-login", never, { "state": { "alias": "state"; "required": false; }; }, {}, never, never, false, never>;
148
+ }
149
+
150
+ declare class FusionAuthLogoutButtonComponent {
151
+ private fusionAuth;
152
+ constructor(fusionAuth: FusionAuthService);
153
+ logout(): void;
154
+ static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthLogoutButtonComponent, never>;
155
+ static ɵcmp: i0.ɵɵComponentDeclaration<FusionAuthLogoutButtonComponent, "fa-logout", never, {}, {}, never, never, false, never>;
156
+ }
157
+
158
+ declare class FusionAuthRegisterButtonComponent {
159
+ private fusionAuth;
160
+ state: string | undefined;
161
+ constructor(fusionAuth: FusionAuthService);
162
+ register(): void;
163
+ static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthRegisterButtonComponent, never>;
164
+ static ɵcmp: i0.ɵɵComponentDeclaration<FusionAuthRegisterButtonComponent, "fa-register", never, { "state": { "alias": "state"; "required": false; }; }, {}, never, never, false, never>;
165
+ }
166
+
167
+ declare class FusionAuthAccountButtonComponent {
168
+ private fusionAuth;
169
+ constructor(fusionAuth: FusionAuthService);
170
+ manageAccount(): void;
171
+ static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthAccountButtonComponent, never>;
172
+ static ɵcmp: i0.ɵɵComponentDeclaration<FusionAuthAccountButtonComponent, "fa-account", never, {}, {}, never, never, false, never>;
173
+ }
174
+
175
+ declare class FusionAuthModule {
176
+ static forRoot(fusionAuthConfig: FusionAuthConfig): ModuleWithProviders<FusionAuthModule>;
177
+ static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthModule, never>;
178
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FusionAuthModule, [typeof FusionAuthLoginButtonComponent, typeof FusionAuthLogoutButtonComponent, typeof FusionAuthRegisterButtonComponent, typeof FusionAuthAccountButtonComponent], never, [typeof FusionAuthLoginButtonComponent, typeof FusionAuthLogoutButtonComponent, typeof FusionAuthRegisterButtonComponent, typeof FusionAuthAccountButtonComponent]>;
179
+ static ɵinj: i0.ɵɵInjectorDeclaration<FusionAuthModule>;
180
+ }
181
+
182
+ export { FusionAuthAccountButtonComponent, FusionAuthLoginButtonComponent, FusionAuthLogoutButtonComponent, FusionAuthModule, FusionAuthRegisterButtonComponent, FusionAuthService };
183
+ export type { FusionAuthConfig, UserInfo };
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uYXV0aC1hbmd1bGFyLXNkay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,23 +0,0 @@
1
- /** An adapter class that supports accessing cookies with SSR */
2
- export class SSRCookieAdapter {
3
- constructor(isBrowser) {
4
- this.isBrowser = isBrowser;
5
- }
6
- at_exp(cookieName = 'app.at_exp') {
7
- if (!this.isBrowser) {
8
- return;
9
- }
10
- try {
11
- const expCookie = document.cookie
12
- .split('; ')
13
- .map(c => c.split('='))
14
- .find(([name]) => name === cookieName);
15
- return expCookie?.[1];
16
- }
17
- catch (error) {
18
- console.error('Error within the SSRCookieAdapter: ', error);
19
- return -1;
20
- }
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1NSQ29va2llQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL2xpYi9TU1JDb29raWVBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGdFQUFnRTtBQUNoRSxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLFNBQWtCO1FBQWxCLGNBQVMsR0FBVCxTQUFTLENBQVM7SUFBRyxDQUFDO0lBRTFDLE1BQU0sQ0FBQyxhQUFxQixZQUFZO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTTtpQkFDOUIsS0FBSyxDQUFDLElBQUksQ0FBQztpQkFDWCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7WUFDekMsT0FBTyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUQsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb29raWVBZGFwdGVyIH0gZnJvbSAnLi4vc2RrY29yZSc7XG5cbi8qKiBBbiBhZGFwdGVyIGNsYXNzIHRoYXQgc3VwcG9ydHMgYWNjZXNzaW5nIGNvb2tpZXMgd2l0aCBTU1IgKi9cbmV4cG9ydCBjbGFzcyBTU1JDb29raWVBZGFwdGVyIGltcGxlbWVudHMgQ29va2llQWRhcHRlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaXNCcm93c2VyOiBib29sZWFuKSB7fVxuXG4gIGF0X2V4cChjb29raWVOYW1lOiBzdHJpbmcgPSAnYXBwLmF0X2V4cCcpIHtcbiAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV4cENvb2tpZSA9IGRvY3VtZW50LmNvb2tpZVxuICAgICAgICAuc3BsaXQoJzsgJylcbiAgICAgICAgLm1hcChjID0+IGMuc3BsaXQoJz0nKSlcbiAgICAgICAgLmZpbmQoKFtuYW1lXSkgPT4gbmFtZSA9PT0gY29va2llTmFtZSk7XG4gICAgICByZXR1cm4gZXhwQ29va2llPy5bMV07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHdpdGhpbiB0aGUgU1NSQ29va2llQWRhcHRlcjogJywgZXJyb3IpO1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,18 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../fusion-auth.service";
4
- export class FusionAuthAccountButtonComponent {
5
- constructor(fusionAuth) {
6
- this.fusionAuth = fusionAuth;
7
- }
8
- manageAccount() {
9
- this.fusionAuth.manageAccount();
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthAccountButtonComponent, deps: [{ token: i1.FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthAccountButtonComponent, selector: "fa-account", ngImport: i0, template: "<button class=\"fa-button\" (click)=\"manageAccount()\">\n <span>manage account</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthAccountButtonComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'fa-account', template: "<button class=\"fa-button\" (click)=\"manageAccount()\">\n <span>manage account</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }]
17
- }], ctorParameters: () => [{ type: i1.FusionAuthService }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgtYWNjb3VudC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvbGliL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1hY2NvdW50LmJ1dHRvbi9mdXNpb24tYXV0aC1hY2NvdW50LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLWFjY291bnQuYnV0dG9uL2Z1c2lvbi1hdXRoLWFjY291bnQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExQyxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLFlBQW9CLFVBQTZCO1FBQTdCLGVBQVUsR0FBVixVQUFVLENBQW1CO0lBQUcsQ0FBQztJQUVyRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxDQUFDOytHQUxVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLGtEQ1I3QyxzR0FHQTs7NEZES2EsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZ1c2lvbkF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZnVzaW9uLWF1dGguc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhLWFjY291bnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnVzaW9uLWF1dGgtYWNjb3VudC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mdXNpb24tYXV0aC1hY2NvdW50LWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGdXNpb25BdXRoQWNjb3VudEJ1dHRvbkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVzaW9uQXV0aDogRnVzaW9uQXV0aFNlcnZpY2UpIHt9XG5cbiAgbWFuYWdlQWNjb3VudCgpIHtcbiAgICB0aGlzLmZ1c2lvbkF1dGgubWFuYWdlQWNjb3VudCgpO1xuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiZmEtYnV0dG9uXCIgKGNsaWNrKT1cIm1hbmFnZUFjY291bnQoKVwiPlxuICA8c3Bhbj5tYW5hZ2UgYWNjb3VudDwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19
@@ -1,20 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../fusion-auth.service";
4
- export class FusionAuthLoginButtonComponent {
5
- constructor(fusionAuth) {
6
- this.fusionAuth = fusionAuth;
7
- }
8
- login() {
9
- this.fusionAuth.startLogin(this.state);
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLoginButtonComponent, deps: [{ token: i1.FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthLoginButtonComponent, selector: "fa-login", inputs: { state: "state" }, ngImport: i0, template: "<button class=\"fa-button\" (click)=\"login()\">\n <span>Login</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLoginButtonComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'fa-login', template: "<button class=\"fa-button\" (click)=\"login()\">\n <span>Login</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }]
17
- }], ctorParameters: () => [{ type: i1.FusionAuthService }], propDecorators: { state: [{
18
- type: Input
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgtbG9naW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL2xpYi9jb21wb25lbnRzL2Z1c2lvbmF1dGgtbG9naW4uYnV0dG9uL2Z1c2lvbi1hdXRoLWxvZ2luLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLWxvZ2luLmJ1dHRvbi9mdXNpb24tYXV0aC1sb2dpbi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8sOEJBQThCO0lBR3pDLFlBQW9CLFVBQTZCO1FBQTdCLGVBQVUsR0FBVixVQUFVLENBQW1CO0lBQUcsQ0FBQztJQUVyRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7K0dBUFUsOEJBQThCO21HQUE5Qiw4QkFBOEIsNEVDUjNDLHFGQUdBOzs0RkRLYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsVUFBVTtzRkFLWCxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGdXNpb25BdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2Z1c2lvbi1hdXRoLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmYS1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mdXNpb24tYXV0aC1sb2dpbi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mdXNpb24tYXV0aC1sb2dpbi1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnVzaW9uQXV0aExvZ2luQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3RhdGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZ1c2lvbkF1dGg6IEZ1c2lvbkF1dGhTZXJ2aWNlKSB7fVxuXG4gIGxvZ2luKCkge1xuICAgIHRoaXMuZnVzaW9uQXV0aC5zdGFydExvZ2luKHRoaXMuc3RhdGUpO1xuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiZmEtYnV0dG9uXCIgKGNsaWNrKT1cImxvZ2luKClcIj5cbiAgPHNwYW4+TG9naW48L3NwYW4+XG48L2J1dHRvbj5cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../fusion-auth.service";
4
- export class FusionAuthLogoutButtonComponent {
5
- constructor(fusionAuth) {
6
- this.fusionAuth = fusionAuth;
7
- }
8
- logout() {
9
- this.fusionAuth.logout();
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLogoutButtonComponent, deps: [{ token: i1.FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthLogoutButtonComponent, selector: "fa-logout", ngImport: i0, template: "<button class=\"fa-logout-button\" (click)=\"logout()\">\n <span>logout</span>\n</button>\n", styles: [".fa-logout-button{padding:7px 13px;border-radius:3px;display:block;border:solid 1px #083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:12px;text-align:center;color:#083b94}.fa-logout-button:hover{cursor:pointer}\n"] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLogoutButtonComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'fa-logout', template: "<button class=\"fa-logout-button\" (click)=\"logout()\">\n <span>logout</span>\n</button>\n", styles: [".fa-logout-button{padding:7px 13px;border-radius:3px;display:block;border:solid 1px #083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:12px;text-align:center;color:#083b94}.fa-logout-button:hover{cursor:pointer}\n"] }]
17
- }], ctorParameters: () => [{ type: i1.FusionAuthService }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgtbG9nb3V0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLWxvZ291dC5idXR0b24vZnVzaW9uLWF1dGgtbG9nb3V0LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLWxvZ291dC5idXR0b24vZnVzaW9uLWF1dGgtbG9nb3V0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRMUMsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxZQUFvQixVQUE2QjtRQUE3QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUFHLENBQUM7SUFFckQsTUFBTTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0FMVSwrQkFBK0I7bUdBQS9CLCtCQUErQixpRENSNUMsOEZBR0E7OzRGREthLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGdXNpb25BdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2Z1c2lvbi1hdXRoLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmYS1sb2dvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnVzaW9uLWF1dGgtbG9nb3V0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Z1c2lvbi1hdXRoLWxvZ291dC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnVzaW9uQXV0aExvZ291dEJ1dHRvbkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVzaW9uQXV0aDogRnVzaW9uQXV0aFNlcnZpY2UpIHt9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMuZnVzaW9uQXV0aC5sb2dvdXQoKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiBjbGFzcz1cImZhLWxvZ291dC1idXR0b25cIiAoY2xpY2spPVwibG9nb3V0KClcIj5cbiAgPHNwYW4+bG9nb3V0PC9zcGFuPlxuPC9idXR0b24+XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../fusion-auth.service";
4
- export class FusionAuthRegisterButtonComponent {
5
- constructor(fusionAuth) {
6
- this.fusionAuth = fusionAuth;
7
- }
8
- register() {
9
- this.fusionAuth.startRegistration(this.state);
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthRegisterButtonComponent, deps: [{ token: i1.FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthRegisterButtonComponent, selector: "fa-register", inputs: { state: "state" }, ngImport: i0, template: "<button class=\"fa-button\" (click)=\"register()\">\n <span>Register Now</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthRegisterButtonComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'fa-register', template: "<button class=\"fa-button\" (click)=\"register()\">\n <span>Register Now</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }]
17
- }], ctorParameters: () => [{ type: i1.FusionAuthService }], propDecorators: { state: [{
18
- type: Input
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgtcmVnaXN0ZXItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL2xpYi9jb21wb25lbnRzL2Z1c2lvbmF1dGgtcmVnaXN0ZXIuYnV0dG9uL2Z1c2lvbi1hdXRoLXJlZ2lzdGVyLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLXJlZ2lzdGVyLmJ1dHRvbi9mdXNpb24tYXV0aC1yZWdpc3Rlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8saUNBQWlDO0lBRzVDLFlBQW9CLFVBQTZCO1FBQTdCLGVBQVUsR0FBVixVQUFVLENBQW1CO0lBQUcsQ0FBQztJQUVyRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQzsrR0FQVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQywrRUNSOUMsK0ZBR0E7OzRGREthLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDRSxhQUFhO3NGQUtkLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZ1c2lvbkF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZnVzaW9uLWF1dGguc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhLXJlZ2lzdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Z1c2lvbi1hdXRoLXJlZ2lzdGVyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Z1c2lvbi1hdXRoLXJlZ2lzdGVyLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGdXNpb25BdXRoUmVnaXN0ZXJCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBzdGF0ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVzaW9uQXV0aDogRnVzaW9uQXV0aFNlcnZpY2UpIHt9XG5cbiAgcmVnaXN0ZXIoKSB7XG4gICAgdGhpcy5mdXNpb25BdXRoLnN0YXJ0UmVnaXN0cmF0aW9uKHRoaXMuc3RhdGUpO1xuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiZmEtYnV0dG9uXCIgKGNsaWNrKT1cInJlZ2lzdGVyKClcIj5cbiAgPHNwYW4+UmVnaXN0ZXIgTm93PC9zcGFuPlxuPC9idXR0b24+XG4iXX0=
@@ -1,47 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { FusionAuthService } from './fusion-auth.service';
3
- import { FUSIONAUTH_SERVICE_CONFIG } from './injectionToken';
4
- import { FusionAuthLoginButtonComponent } from './components/fusionauth-login.button/fusion-auth-login-button.component';
5
- import { FusionAuthLogoutButtonComponent } from './components/fusionauth-logout.button/fusion-auth-logout-button.component';
6
- import { FusionAuthRegisterButtonComponent } from './components/fusionauth-register.button/fusion-auth-register-button.component';
7
- import { FusionAuthAccountButtonComponent } from './components/fusionauth-account.button/fusion-auth-account-button.component';
8
- import * as i0 from "@angular/core";
9
- export class FusionAuthModule {
10
- static forRoot(fusionAuthConfig) {
11
- return {
12
- ngModule: FusionAuthModule,
13
- providers: [
14
- { provide: FUSIONAUTH_SERVICE_CONFIG, useValue: fusionAuthConfig },
15
- FusionAuthService,
16
- ],
17
- };
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule, declarations: [FusionAuthLoginButtonComponent,
21
- FusionAuthLogoutButtonComponent,
22
- FusionAuthRegisterButtonComponent,
23
- FusionAuthAccountButtonComponent], exports: [FusionAuthLoginButtonComponent,
24
- FusionAuthLogoutButtonComponent,
25
- FusionAuthRegisterButtonComponent,
26
- FusionAuthAccountButtonComponent] }); }
27
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule, decorators: [{
30
- type: NgModule,
31
- args: [{
32
- declarations: [
33
- FusionAuthLoginButtonComponent,
34
- FusionAuthLogoutButtonComponent,
35
- FusionAuthRegisterButtonComponent,
36
- FusionAuthAccountButtonComponent,
37
- ],
38
- imports: [],
39
- exports: [
40
- FusionAuthLoginButtonComponent,
41
- FusionAuthLogoutButtonComponent,
42
- FusionAuthRegisterButtonComponent,
43
- FusionAuthAccountButtonComponent,
44
- ],
45
- }]
46
- }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvbGliL2Z1c2lvbi1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQzs7QUFpQi9ILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FDWixnQkFBa0M7UUFFbEMsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDbEUsaUJBQWlCO2FBQ2xCO1NBQ0YsQ0FBQztJQUNKLENBQUM7K0dBWFUsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBYnpCLDhCQUE4QjtZQUM5QiwrQkFBK0I7WUFDL0IsaUNBQWlDO1lBQ2pDLGdDQUFnQyxhQUloQyw4QkFBOEI7WUFDOUIsK0JBQStCO1lBQy9CLGlDQUFpQztZQUNqQyxnQ0FBZ0M7Z0hBR3ZCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFmNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osOEJBQThCO3dCQUM5QiwrQkFBK0I7d0JBQy9CLGlDQUFpQzt3QkFDakMsZ0NBQWdDO3FCQUNqQztvQkFDRCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUU7d0JBQ1AsOEJBQThCO3dCQUM5QiwrQkFBK0I7d0JBQy9CLGlDQUFpQzt3QkFDakMsZ0NBQWdDO3FCQUNqQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGdXNpb25BdXRoQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBGdXNpb25BdXRoU2VydmljZSB9IGZyb20gJy4vZnVzaW9uLWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBGVVNJT05BVVRIX1NFUlZJQ0VfQ09ORklHIH0gZnJvbSAnLi9pbmplY3Rpb25Ub2tlbic7XG5pbXBvcnQgeyBGdXNpb25BdXRoTG9naW5CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1sb2dpbi5idXR0b24vZnVzaW9uLWF1dGgtbG9naW4tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdXNpb25BdXRoTG9nb3V0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Z1c2lvbmF1dGgtbG9nb3V0LmJ1dHRvbi9mdXNpb24tYXV0aC1sb2dvdXQtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdXNpb25BdXRoUmVnaXN0ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1yZWdpc3Rlci5idXR0b24vZnVzaW9uLWF1dGgtcmVnaXN0ZXItYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdXNpb25BdXRoQWNjb3VudEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mdXNpb25hdXRoLWFjY291bnQuYnV0dG9uL2Z1c2lvbi1hdXRoLWFjY291bnQtYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZ1c2lvbkF1dGhMb2dpbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBGdXNpb25BdXRoTG9nb3V0QnV0dG9uQ29tcG9uZW50LFxuICAgIEZ1c2lvbkF1dGhSZWdpc3RlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBGdXNpb25BdXRoQWNjb3VudEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtcbiAgICBGdXNpb25BdXRoTG9naW5CdXR0b25Db21wb25lbnQsXG4gICAgRnVzaW9uQXV0aExvZ291dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBGdXNpb25BdXRoUmVnaXN0ZXJCdXR0b25Db21wb25lbnQsXG4gICAgRnVzaW9uQXV0aEFjY291bnRCdXR0b25Db21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ1c2lvbkF1dGhNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChcbiAgICBmdXNpb25BdXRoQ29uZmlnOiBGdXNpb25BdXRoQ29uZmlnLFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZ1c2lvbkF1dGhNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEZ1c2lvbkF1dGhNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBGVVNJT05BVVRIX1NFUlZJQ0VfQ09ORklHLCB1c2VWYWx1ZTogZnVzaW9uQXV0aENvbmZpZyB9LFxuICAgICAgICBGdXNpb25BdXRoU2VydmljZSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,118 +0,0 @@
1
- import { Injectable, Inject, PLATFORM_ID } from '@angular/core';
2
- import { isPlatformBrowser } from '@angular/common';
3
- import { Observable, catchError, BehaviorSubject } from 'rxjs';
4
- import { SDKCore } from '../sdkcore';
5
- import { SSRCookieAdapter } from './SSRCookieAdapter';
6
- import { FUSIONAUTH_SERVICE_CONFIG } from './injectionToken';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * Service class to use with FusionAuth backend endpoints.
10
- */
11
- export class FusionAuthService {
12
- constructor(config, platformId) {
13
- this.core = new SDKCore({
14
- ...config,
15
- onTokenExpiration: () => {
16
- this.isLoggedInSubject.next(false);
17
- },
18
- cookieAdapter: new SSRCookieAdapter(isPlatformBrowser(platformId)),
19
- });
20
- this.isLoggedInSubject = new BehaviorSubject(this.core.isLoggedIn);
21
- this.isLoggedIn$ = this.isLoggedInSubject.asObservable();
22
- this.core.handlePostRedirect(config.onRedirect);
23
- if (config.shouldAutoRefresh && this.core.isLoggedIn) {
24
- this.initAutoRefresh();
25
- }
26
- }
27
- /** A function that returns whether the user is logged in. This returned value is non-observable. */
28
- isLoggedIn() {
29
- return this.core.isLoggedIn;
30
- }
31
- /**
32
- * Refreshes the access token a single time.
33
- * Automatic token refreshing can be enabled if the SDK is configured with `shouldAutoRefresh`.
34
- */
35
- async refreshToken() {
36
- return await this.core.refreshToken();
37
- }
38
- /**
39
- * Initializes automatic access token refreshing.
40
- * This is handled automatically if the SDK is configured with `shouldAutoRefresh`.
41
- */
42
- initAutoRefresh() {
43
- if (this.autoRefreshTimer) {
44
- clearTimeout(this.autoRefreshTimer);
45
- }
46
- this.autoRefreshTimer = this.core.initAutoRefresh();
47
- }
48
- /**
49
- * Returns an observable request that fetches userInfo, and catches error.
50
- */
51
- getUserInfoObservable(callbacks) {
52
- callbacks?.onBegin?.();
53
- return new Observable(observer => {
54
- this.core
55
- .fetchUserInfo()
56
- .then(userInfo => {
57
- observer.next(userInfo);
58
- })
59
- .catch(error => {
60
- observer.error(error);
61
- })
62
- .finally(() => {
63
- callbacks?.onDone?.();
64
- });
65
- }).pipe(catchError(error => {
66
- throw error;
67
- }));
68
- }
69
- /**
70
- * Fetches userInfo from the 'me' endpoint.
71
- * @throws {Error} - if an error occurred while fetching.
72
- */
73
- async getUserInfo() {
74
- return await this.core.fetchUserInfo();
75
- }
76
- /**
77
- * Initiates login flow.
78
- * @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.
79
- */
80
- startLogin(state) {
81
- this.core.startLogin(state);
82
- }
83
- /**
84
- * Initiates register flow.
85
- * @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.
86
- */
87
- startRegistration(state) {
88
- this.core.startRegister(state);
89
- }
90
- /**
91
- * Initiates logout flow.
92
- */
93
- logout() {
94
- this.core.startLogout();
95
- }
96
- /**
97
- * Redirects to [self service account management](https://fusionauth.io/docs/lifecycle/manage-users/account-management/)
98
- * Self service account management is only available in FusionAuth paid plans.
99
- */
100
- manageAccount() {
101
- this.core.manageAccount();
102
- }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthService, deps: [{ token: FUSIONAUTH_SERVICE_CONFIG }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
104
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthService, providedIn: 'root' }); }
105
- }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthService, decorators: [{
107
- type: Injectable,
108
- args: [{
109
- providedIn: 'root',
110
- }]
111
- }], ctorParameters: () => [{ type: undefined, decorators: [{
112
- type: Inject,
113
- args: [FUSIONAUTH_SERVICE_CONFIG]
114
- }] }, { type: Object, decorators: [{
115
- type: Inject,
116
- args: [PLATFORM_ID]
117
- }] }] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL2xpYi9mdXNpb24tYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFN0Q7O0dBRUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBQ3FDLE1BQXdCLEVBQ3RDLFVBQWtCO1FBRXZDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUM7WUFDdEIsR0FBRyxNQUFNO1lBQ1QsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO2dCQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxhQUFhLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuRSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV6RCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoRCxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUtELG9HQUFvRztJQUNwRyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFlBQVk7UUFDaEIsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gscUJBQXFCLENBQUMsU0FHckI7UUFDQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksVUFBVSxDQUFJLFFBQVEsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJO2lCQUNOLGFBQWEsRUFBSztpQkFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNmLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDYixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQztpQkFDRCxPQUFPLENBQUMsR0FBRyxFQUFFO2dCQUNaLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNMLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixNQUFNLEtBQUssQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFdBQVc7UUFDZixPQUFPLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUssQ0FBQztJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQixDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBdkhVLGlCQUFpQixrQkFNbEIseUJBQXlCLGFBQ3pCLFdBQVc7bUhBUFYsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMseUJBQXlCOzswQkFDaEMsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNES0NvcmUgfSBmcm9tICcuLi9zZGtjb3JlJztcbmltcG9ydCB7IFNTUkNvb2tpZUFkYXB0ZXIgfSBmcm9tICcuL1NTUkNvb2tpZUFkYXB0ZXInO1xuaW1wb3J0IHsgRnVzaW9uQXV0aENvbmZpZywgVXNlckluZm8gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZVU0lPTkFVVEhfU0VSVklDRV9DT05GSUcgfSBmcm9tICcuL2luamVjdGlvblRva2VuJztcblxuLyoqXG4gKiBTZXJ2aWNlIGNsYXNzIHRvIHVzZSB3aXRoIEZ1c2lvbkF1dGggYmFja2VuZCBlbmRwb2ludHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGdXNpb25BdXRoU2VydmljZTxUID0gVXNlckluZm8+IHtcbiAgcHJpdmF0ZSBjb3JlOiBTREtDb3JlO1xuICBwcml2YXRlIGF1dG9SZWZyZXNoVGltZXI/OiBOb2RlSlMuVGltZW91dDtcbiAgcHJpdmF0ZSBpc0xvZ2dlZEluU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRlVTSU9OQVVUSF9TRVJWSUNFX0NPTkZJRykgY29uZmlnOiBGdXNpb25BdXRoQ29uZmlnLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgKSB7XG4gICAgdGhpcy5jb3JlID0gbmV3IFNES0NvcmUoe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgb25Ub2tlbkV4cGlyYXRpb246ICgpID0+IHtcbiAgICAgICAgdGhpcy5pc0xvZ2dlZEluU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgICBjb29raWVBZGFwdGVyOiBuZXcgU1NSQ29va2llQWRhcHRlcihpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmlzTG9nZ2VkSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmNvcmUuaXNMb2dnZWRJbik7XG4gICAgdGhpcy5pc0xvZ2dlZEluJCA9IHRoaXMuaXNMb2dnZWRJblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICB0aGlzLmNvcmUuaGFuZGxlUG9zdFJlZGlyZWN0KGNvbmZpZy5vblJlZGlyZWN0KTtcblxuICAgIGlmIChjb25maWcuc2hvdWxkQXV0b1JlZnJlc2ggJiYgdGhpcy5jb3JlLmlzTG9nZ2VkSW4pIHtcbiAgICAgIHRoaXMuaW5pdEF1dG9SZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEFuIG9ic2VydmFibGUgcmVwcmVzZW50aW5nIHdoZXRoZXIgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLiAqL1xuICBpc0xvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKiogQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgd2hldGhlciB0aGUgdXNlciBpcyBsb2dnZWQgaW4uIFRoaXMgcmV0dXJuZWQgdmFsdWUgaXMgbm9uLW9ic2VydmFibGUuICovXG4gIGlzTG9nZ2VkSW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29yZS5pc0xvZ2dlZEluO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZnJlc2hlcyB0aGUgYWNjZXNzIHRva2VuIGEgc2luZ2xlIHRpbWUuXG4gICAqIEF1dG9tYXRpYyB0b2tlbiByZWZyZXNoaW5nIGNhbiBiZSBlbmFibGVkIGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvUmVmcmVzaGAuXG4gICAqL1xuICBhc3luYyByZWZyZXNoVG9rZW4oKTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvcmUucmVmcmVzaFRva2VuKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYXV0b21hdGljIGFjY2VzcyB0b2tlbiByZWZyZXNoaW5nLlxuICAgKiBUaGlzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSBpZiB0aGUgU0RLIGlzIGNvbmZpZ3VyZWQgd2l0aCBgc2hvdWxkQXV0b1JlZnJlc2hgLlxuICAgKi9cbiAgaW5pdEF1dG9SZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmF1dG9SZWZyZXNoVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmF1dG9SZWZyZXNoVGltZXIpO1xuICAgIH1cblxuICAgIHRoaXMuYXV0b1JlZnJlc2hUaW1lciA9IHRoaXMuY29yZS5pbml0QXV0b1JlZnJlc2goKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgcmVxdWVzdCB0aGF0IGZldGNoZXMgdXNlckluZm8sIGFuZCBjYXRjaGVzIGVycm9yLlxuICAgKi9cbiAgZ2V0VXNlckluZm9PYnNlcnZhYmxlKGNhbGxiYWNrcz86IHtcbiAgICBvbkJlZ2luPzogKCkgPT4gdm9pZDtcbiAgICBvbkRvbmU/OiAoKSA9PiB2b2lkO1xuICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY2FsbGJhY2tzPy5vbkJlZ2luPy4oKTtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8VD4ob2JzZXJ2ZXIgPT4ge1xuICAgICAgdGhpcy5jb3JlXG4gICAgICAgIC5mZXRjaFVzZXJJbmZvPFQ+KClcbiAgICAgICAgLnRoZW4odXNlckluZm8gPT4ge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQodXNlckluZm8pO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIGNhbGxiYWNrcz8ub25Eb25lPy4oKTtcbiAgICAgICAgfSk7XG4gICAgfSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB1c2VySW5mbyBmcm9tIHRoZSAnbWUnIGVuZHBvaW50LlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gLSBpZiBhbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBmZXRjaGluZy5cbiAgICovXG4gIGFzeW5jIGdldFVzZXJJbmZvPFQ+KCk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvcmUuZmV0Y2hVc2VySW5mbzxUPigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYXRlcyBsb2dpbiBmbG93LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0YXRlXSAtIE9wdGlvbmFsIHZhbHVlIHRvIGJlIGVjaG9lZCBiYWNrIHRvIHRoZSBTREsgdXBvbiByZWRpcmVjdC5cbiAgICovXG4gIHN0YXJ0TG9naW4oc3RhdGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvcmUuc3RhcnRMb2dpbihzdGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIHJlZ2lzdGVyIGZsb3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhdGVdIC0gT3B0aW9uYWwgdmFsdWUgdG8gYmUgZWNob2VkIGJhY2sgdG8gdGhlIFNESyB1cG9uIHJlZGlyZWN0LlxuICAgKi9cbiAgc3RhcnRSZWdpc3RyYXRpb24oc3RhdGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvcmUuc3RhcnRSZWdpc3RlcihzdGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIGxvZ291dCBmbG93LlxuICAgKi9cbiAgbG9nb3V0KCk6IHZvaWQge1xuICAgIHRoaXMuY29yZS5zdGFydExvZ291dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZGlyZWN0cyB0byBbc2VsZiBzZXJ2aWNlIGFjY291bnQgbWFuYWdlbWVudF0oaHR0cHM6Ly9mdXNpb25hdXRoLmlvL2RvY3MvbGlmZWN5Y2xlL21hbmFnZS11c2Vycy9hY2NvdW50LW1hbmFnZW1lbnQvKVxuICAgKiBTZWxmIHNlcnZpY2UgYWNjb3VudCBtYW5hZ2VtZW50IGlzIG9ubHkgYXZhaWxhYmxlIGluIEZ1c2lvbkF1dGggcGFpZCBwbGFucy5cbiAgICovXG4gIG1hbmFnZUFjY291bnQoKTogdm9pZCB7XG4gICAgdGhpcy5jb3JlLm1hbmFnZUFjY291bnQoKTtcbiAgfVxufVxuIl19
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const FUSIONAUTH_SERVICE_CONFIG = new InjectionToken('FUSIONAUTH_SERVICE_CONFIG');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvaW5qZWN0aW9uVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FDekQsMkJBQTJCLENBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnVzaW9uQXV0aENvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgRlVTSU9OQVVUSF9TRVJWSUNFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGdXNpb25BdXRoQ29uZmlnPihcbiAgJ0ZVU0lPTkFVVEhfU0VSVklDRV9DT05GSUcnLFxuKTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uZmlnIGZvciBGdXNpb25BdXRoIEFuZ3VsYXIgU0RLXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVzaW9uQXV0aENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBzZXJ2ZXIgdGhhdCBwZXJmb3JtcyB0aGUgdG9rZW4gZXhjaGFuZ2UuXG4gICAqL1xuICBzZXJ2ZXJVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNsaWVudCBpZCBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqL1xuICBjbGllbnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVkaXJlY3QgVVJJIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHJlZGlyZWN0VXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWRpcmVjdCBVUkkgZm9yIHBvc3QtbG9nb3V0LiBEZWZhdWx0cyB0aGUgcHJvdmlkZWQgYHJlZGlyZWN0VXJpYC5cbiAgICovXG4gIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIE9BdXRoMiBzY29wZSBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSBgL29hdXRoMi9hdXRob3JpemVgIGVuZHBvaW50LiBJZiBub3Qgc3BlY2lmaWVkIGZ1c2lvbmF1dGggd2lsbCBkZWZhdWx0IHRoaXMgdG8gYG9wZW5pZCBvZmZsaW5lX2FjY2Vzc2AuXG4gICAqL1xuICBzY29wZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlcyBhdXRvbWF0aWMgdG9rZW4gcmVmcmVzaGluZy4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBzaG91bGRBdXRvUmVmcmVzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBiZWZvcmUgdGhlIGFjY2VzcyB0b2tlbiBleHBpcnkgd2hlbiB0aGUgYXV0byByZWZyZXNoIGZ1bmN0aW9uYWxpdHkga2lja3MgaW4gaWYgZW5hYmxlZC4gRGVmYXVsdCBpcyAxMC5cbiAgICovXG4gIGF1dG9SZWZyZXNoU2Vjb25kc0JlZm9yZUV4cGlyeT86IG51bWJlcjtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCB3aXRoIHRoZSBgc3RhdGVgIHZhbHVlIHVwb24gcmVkaXJlY3QgZnJvbSBsb2dpbiBvciByZWdpc3Rlci5cbiAgICovXG4gIG9uUmVkaXJlY3Q/OiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGJlIGludm9rZWQgaWYgYSByZXF1ZXN0IHRvIHJlZnJlc2ggdGhlIGFjY2VzcyB0b2tlbiBmYWlscyBkdXJpbmcgYXV0b3JlZnJlc2guXG4gICAqL1xuICBvbkF1dG9SZWZyZXNoRmFpbHVyZT86IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBsb2dpbiBlbmRwb2ludC5cbiAgICovXG4gIGxvZ2luUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIHJlZ2lzdGVyIGVuZHBvaW50LlxuICAgKi9cbiAgcmVnaXN0ZXJQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgbG9nb3V0IGVuZHBvaW50LlxuICAgKi9cbiAgbG9nb3V0UGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIHRva2VuIHJlZnJlc2ggZW5kcG9pbnQuXG4gICAqL1xuICB0b2tlblJlZnJlc2hQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgbWUgZW5kcG9pbnQuXG4gICAqL1xuICBtZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckluZm8ge1xuICBhcHBsaWNhdGlvbklkPzogc3RyaW5nO1xuICBiaXJ0aGRhdGU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIGZhbWlseV9uYW1lPzogc3RyaW5nO1xuICBnaXZlbl9uYW1lPzogc3RyaW5nO1xuICBtaWRkbGVfbmFtZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICBwcmVmZXJyZWRfdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHJvbGVzPzogYW55W107XG4gIHNpZD86IHN0cmluZztcbiAgc3ViPzogc3RyaW5nO1xuICB0aWQ/OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,11 +0,0 @@
1
- /*
2
- * Public API Surface of fusionauth-angular-sdk
3
- */
4
- export * from './lib/fusion-auth.service';
5
- export * from './lib/components/fusionauth-login.button/fusion-auth-login-button.component';
6
- export * from './lib/components/fusionauth-logout.button/fusion-auth-logout-button.component';
7
- export * from './lib/components/fusionauth-register.button/fusion-auth-register-button.component';
8
- export * from './lib/components/fusionauth-account.button/fusion-auth-account-button.component';
9
- export * from './lib/fusion-auth.module';
10
- export * from './lib/types';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLG1GQUFtRixDQUFDO0FBQ2xHLGNBQWMsaUZBQWlGLENBQUM7QUFDaEcsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZnVzaW9uYXV0aC1hbmd1bGFyLXNka1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1c2lvbi1hdXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLWxvZ2luLmJ1dHRvbi9mdXNpb24tYXV0aC1sb2dpbi1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1sb2dvdXQuYnV0dG9uL2Z1c2lvbi1hdXRoLWxvZ291dC1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1yZWdpc3Rlci5idXR0b24vZnVzaW9uLWF1dGgtcmVnaXN0ZXItYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Z1c2lvbmF1dGgtYWNjb3VudC5idXR0b24vZnVzaW9uLWF1dGgtYWNjb3VudC1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1c2lvbi1hdXRoLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcyc7XG4iXX0=
@@ -1,34 +0,0 @@
1
- /**
2
- * Gets the `app.at_exp` cookie and converts it to milliseconds since epoch.
3
- * Returns -1 if the cookie is not present.
4
- * @param cookieName - defaults to `app.at_exp`.
5
- * @param adapter - SSR frameworks like Nuxt, Next, and angular/ssr will pass in an adapter.
6
- */
7
- export function getAccessTokenExpirationMoment(cookieName = 'app.at_exp', adapter) {
8
- if (adapter) {
9
- return toMilliseconds(adapter.at_exp(cookieName));
10
- }
11
- let cookie;
12
- try {
13
- // `document` throws a ReferenceError if this runs in a
14
- // non-browser environment such as an SSR framework like Nuxt or Next.
15
- cookie = document.cookie;
16
- }
17
- catch {
18
- console.error('Error accessing cookies in fusionauth. If you are using SSR you must configure the SDK with a cookie adapter');
19
- return -1;
20
- }
21
- const expCookie = cookie
22
- .split('; ')
23
- .map(c => c.split('='))
24
- .find(([name]) => name === cookieName);
25
- const cookieValue = expCookie?.[1];
26
- return toMilliseconds(cookieValue);
27
- }
28
- function toMilliseconds(seconds) {
29
- if (!seconds)
30
- return -1;
31
- else
32
- return Number(seconds) * 1000;
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29va2llSGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvQ29va2llSGVscGVycy9Db29raWVIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxhQUFxQixZQUFZLEVBQ2pDLE9BQXVCO0lBRXZCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDO0lBRVgsSUFBSSxDQUFDO1FBQ0gsdURBQXVEO1FBQ3ZELHNFQUFzRTtRQUN0RSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxDQUFDLEtBQUssQ0FDWCw4R0FBOEcsQ0FDL0csQ0FBQztRQUNGLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTTtTQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDO1NBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7SUFDekMsTUFBTSxXQUFXLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkMsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQU9ELFNBQVMsY0FBYyxDQUFDLE9BQXlCO0lBQy9DLElBQUksQ0FBQyxPQUFPO1FBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQzs7UUFDbkIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdldHMgdGhlIGBhcHAuYXRfZXhwYCBjb29raWUgYW5kIGNvbnZlcnRzIGl0IHRvIG1pbGxpc2Vjb25kcyBzaW5jZSBlcG9jaC5cbiAqIFJldHVybnMgLTEgaWYgdGhlIGNvb2tpZSBpcyBub3QgcHJlc2VudC5cbiAqIEBwYXJhbSBjb29raWVOYW1lIC0gZGVmYXVsdHMgdG8gYGFwcC5hdF9leHBgLlxuICogQHBhcmFtIGFkYXB0ZXIgLSBTU1IgZnJhbWV3b3JrcyBsaWtlIE51eHQsIE5leHQsIGFuZCBhbmd1bGFyL3NzciB3aWxsIHBhc3MgaW4gYW4gYWRhcHRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFjY2Vzc1Rva2VuRXhwaXJhdGlvbk1vbWVudChcbiAgY29va2llTmFtZTogc3RyaW5nID0gJ2FwcC5hdF9leHAnLFxuICBhZGFwdGVyPzogQ29va2llQWRhcHRlcixcbik6IG51bWJlciB8IC0xIHtcbiAgaWYgKGFkYXB0ZXIpIHtcbiAgICByZXR1cm4gdG9NaWxsaXNlY29uZHMoYWRhcHRlci5hdF9leHAoY29va2llTmFtZSkpO1xuICB9XG5cbiAgbGV0IGNvb2tpZTtcblxuICB0cnkge1xuICAgIC8vIGBkb2N1bWVudGAgdGhyb3dzIGEgUmVmZXJlbmNlRXJyb3IgaWYgdGhpcyBydW5zIGluIGFcbiAgICAvLyBub24tYnJvd3NlciBlbnZpcm9ubWVudCBzdWNoIGFzIGFuIFNTUiBmcmFtZXdvcmsgbGlrZSBOdXh0IG9yIE5leHQuXG4gICAgY29va2llID0gZG9jdW1lbnQuY29va2llO1xuICB9IGNhdGNoIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ0Vycm9yIGFjY2Vzc2luZyBjb29raWVzIGluIGZ1c2lvbmF1dGguIElmIHlvdSBhcmUgdXNpbmcgU1NSIHlvdSBtdXN0IGNvbmZpZ3VyZSB0aGUgU0RLIHdpdGggYSBjb29raWUgYWRhcHRlcicsXG4gICAgKTtcbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBjb25zdCBleHBDb29raWUgPSBjb29raWVcbiAgICAuc3BsaXQoJzsgJylcbiAgICAubWFwKGMgPT4gYy5zcGxpdCgnPScpKVxuICAgIC5maW5kKChbbmFtZV0pID0+IG5hbWUgPT09IGNvb2tpZU5hbWUpO1xuICBjb25zdCBjb29raWVWYWx1ZSA9IGV4cENvb2tpZT8uWzFdO1xuXG4gIHJldHVybiB0b01pbGxpc2Vjb25kcyhjb29raWVWYWx1ZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llQWRhcHRlciB7XG4gIC8qKiByZXR1cm5zIHRoZSBgYXBwLmF0X2V4cGAgY29va2llIHdpdGhvdXQgbWFuaXB1bGF0aW5nIHRoZSB2YWx1ZS4gKi9cbiAgYXRfZXhwOiAoY29va2llTmFtZT86IHN0cmluZykgPT4gbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB0b01pbGxpc2Vjb25kcyhzZWNvbmRzPzogbnVtYmVyIHwgc3RyaW5nKTogbnVtYmVyIHtcbiAgaWYgKCFzZWNvbmRzKSByZXR1cm4gLTE7XG4gIGVsc2UgcmV0dXJuIE51bWJlcihzZWNvbmRzKSAqIDEwMDA7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './CookieHelpers';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL0Nvb2tpZUhlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQ29va2llSGVscGVycyc7XG4iXX0=
@@ -1,47 +0,0 @@
1
- /** A class responsible for storing a redirect value in localStorage and cleanup afterward. */
2
- export class RedirectHelper {
3
- constructor() {
4
- this.REDIRECT_VALUE = 'fa-sdk-redirect-value';
5
- }
6
- get storage() {
7
- try {
8
- return localStorage;
9
- }
10
- catch {
11
- // fallback for non-browser environments where localStorage is not defined.
12
- return {
13
- /* eslint-disable */
14
- setItem(_key, _value) { },
15
- getItem(_key) { },
16
- removeItem(_key) { },
17
- /* eslint-enable */
18
- };
19
- }
20
- }
21
- handlePreRedirect(state) {
22
- const valueForStorage = `${this.generateRandomString()}:${state ?? ''}`;
23
- this.storage.setItem(this.REDIRECT_VALUE, valueForStorage);
24
- }
25
- handlePostRedirect(callback) {
26
- const stateValue = this.stateValue ?? undefined;
27
- callback?.(stateValue);
28
- this.storage.removeItem(this.REDIRECT_VALUE);
29
- }
30
- get didRedirect() {
31
- return Boolean(this.storage.getItem(this.REDIRECT_VALUE));
32
- }
33
- get stateValue() {
34
- const redirectValue = this.storage.getItem(this.REDIRECT_VALUE);
35
- if (!redirectValue) {
36
- return null;
37
- }
38
- const [, ...stateValue] = redirectValue.split(':');
39
- return stateValue.join(':');
40
- }
41
- generateRandomString() {
42
- const array = new Uint32Array(56 / 2);
43
- window.crypto.getRandomValues(array);
44
- return Array.from(array, (n) => ('0' + n.toString(16)).substring(-2)).join('');
45
- }
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXJlY3RIZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1JlZGlyZWN0SGVscGVyL1JlZGlyZWN0SGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhGQUE4RjtBQUM5RixNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNtQixtQkFBYyxHQUFHLHVCQUF1QixDQUFDO0lBaUQ1RCxDQUFDO0lBaERDLElBQVksT0FBTztRQUNqQixJQUFJLENBQUM7WUFDSCxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsMkVBQTJFO1lBQzNFLE9BQU87Z0JBQ0wsb0JBQW9CO2dCQUNwQixPQUFPLENBQUMsSUFBWSxFQUFFLE1BQWMsSUFBRyxDQUFDO2dCQUN4QyxPQUFPLENBQUMsSUFBWSxJQUFHLENBQUM7Z0JBQ3hCLFVBQVUsQ0FBQyxJQUFZLElBQUcsQ0FBQztnQkFDM0IsbUJBQW1CO2FBQ1QsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYztRQUM5QixNQUFNLGVBQWUsR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFtQztRQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVMsQ0FBQztRQUNoRCxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFZLFVBQVU7UUFDcEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUNyQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3JDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEEgY2xhc3MgcmVzcG9uc2libGUgZm9yIHN0b3JpbmcgYSByZWRpcmVjdCB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgYW5kIGNsZWFudXAgYWZ0ZXJ3YXJkLiAqL1xuZXhwb3J0IGNsYXNzIFJlZGlyZWN0SGVscGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBSRURJUkVDVF9WQUxVRSA9ICdmYS1zZGstcmVkaXJlY3QtdmFsdWUnO1xuICBwcml2YXRlIGdldCBzdG9yYWdlKCk6IFN0b3JhZ2Uge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbG9jYWxTdG9yYWdlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gZmFsbGJhY2sgZm9yIG5vbi1icm93c2VyIGVudmlyb25tZW50cyB3aGVyZSBsb2NhbFN0b3JhZ2UgaXMgbm90IGRlZmluZWQuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgICAgICBzZXRJdGVtKF9rZXk6IHN0cmluZywgX3ZhbHVlOiBzdHJpbmcpIHt9LFxuICAgICAgICBnZXRJdGVtKF9rZXk6IHN0cmluZykge30sXG4gICAgICAgIHJlbW92ZUl0ZW0oX2tleTogc3RyaW5nKSB7fSxcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICAgICAgfSBhcyBTdG9yYWdlO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVByZVJlZGlyZWN0KHN0YXRlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgdmFsdWVGb3JTdG9yYWdlID0gYCR7dGhpcy5nZW5lcmF0ZVJhbmRvbVN0cmluZygpfToke3N0YXRlID8/ICcnfWA7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0odGhpcy5SRURJUkVDVF9WQUxVRSwgdmFsdWVGb3JTdG9yYWdlKTtcbiAgfVxuXG4gIGhhbmRsZVBvc3RSZWRpcmVjdChjYWxsYmFjaz86IChzdGF0ZT86IHN0cmluZykgPT4gdm9pZCkge1xuICAgIGNvbnN0IHN0YXRlVmFsdWUgPSB0aGlzLnN0YXRlVmFsdWUgPz8gdW5kZWZpbmVkO1xuICAgIGNhbGxiYWNrPy4oc3RhdGVWYWx1ZSk7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5SRURJUkVDVF9WQUxVRSk7XG4gIH1cblxuICBnZXQgZGlkUmVkaXJlY3QoKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy5SRURJUkVDVF9WQUxVRSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgc3RhdGVWYWx1ZSgpIHtcbiAgICBjb25zdCByZWRpcmVjdFZhbHVlID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy5SRURJUkVDVF9WQUxVRSk7XG5cbiAgICBpZiAoIXJlZGlyZWN0VmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IFssIC4uLnN0YXRlVmFsdWVdID0gcmVkaXJlY3RWYWx1ZS5zcGxpdCgnOicpO1xuICAgIHJldHVybiBzdGF0ZVZhbHVlLmpvaW4oJzonKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVSYW5kb21TdHJpbmcoKSB7XG4gICAgY29uc3QgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoNTYgLyAyKTtcbiAgICB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oYXJyYXksIChuOiBudW1iZXIpID0+XG4gICAgICAoJzAnICsgbi50b1N0cmluZygxNikpLnN1YnN0cmluZygtMiksXG4gICAgKS5qb2luKCcnKTtcbiAgfVxufVxuIl19