@fusionauth/angular-sdk 1.2.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.
- package/README.md +7 -5
- package/fesm2022/fusionauth-angular-sdk.mjs +77 -41
- package/fesm2022/fusionauth-angular-sdk.mjs.map +1 -1
- package/package.json +16 -8
- package/types/fusionauth-angular-sdk.d.ts +183 -0
- package/esm2022/fusionauth-angular-sdk.mjs +0 -5
- package/esm2022/lib/SSRCookieAdapter.mjs +0 -23
- package/esm2022/lib/components/fusionauth-account.button/fusion-auth-account-button.component.mjs +0 -18
- package/esm2022/lib/components/fusionauth-login.button/fusion-auth-login-button.component.mjs +0 -20
- package/esm2022/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.mjs +0 -18
- package/esm2022/lib/components/fusionauth-register.button/fusion-auth-register-button.component.mjs +0 -20
- package/esm2022/lib/fusion-auth.module.mjs +0 -47
- package/esm2022/lib/fusion-auth.service.mjs +0 -118
- package/esm2022/lib/injectionToken.mjs +0 -3
- package/esm2022/lib/types.mjs +0 -2
- package/esm2022/public-api.mjs +0 -11
- package/esm2022/sdkcore/CookieHelpers/CookieHelpers.mjs +0 -34
- package/esm2022/sdkcore/CookieHelpers/index.mjs +0 -2
- package/esm2022/sdkcore/RedirectHelper/RedirectHelper.mjs +0 -47
- package/esm2022/sdkcore/RedirectHelper/index.mjs +0 -2
- package/esm2022/sdkcore/SDKConfig/SDKConfig.mjs +0 -2
- package/esm2022/sdkcore/SDKConfig/index.mjs +0 -2
- package/esm2022/sdkcore/SDKContext/SDKContext.mjs +0 -2
- package/esm2022/sdkcore/SDKContext/index.mjs +0 -2
- package/esm2022/sdkcore/SDKCore/SDKCore.mjs +0 -110
- package/esm2022/sdkcore/SDKCore/index.mjs +0 -2
- package/esm2022/sdkcore/UrlHelper/UrlHelper.mjs +0 -69
- package/esm2022/sdkcore/UrlHelper/UrlHelperTypes.mjs +0 -2
- package/esm2022/sdkcore/UrlHelper/index.mjs +0 -3
- package/esm2022/sdkcore/index.mjs +0 -5
- package/esm2022/sdkcore/testUtils/index.mjs +0 -3
- package/esm2022/sdkcore/testUtils/mockLoggedIn.mjs +0 -13
- package/esm2022/sdkcore/testUtils/mockWindowLocation.mjs +0 -10
- package/index.d.ts +0 -5
- package/lib/SSRCookieAdapter.d.ts +0 -7
- package/lib/components/fusionauth-account.button/fusion-auth-account-button.component.d.ts +0 -9
- package/lib/components/fusionauth-login.button/fusion-auth-login-button.component.d.ts +0 -10
- package/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.d.ts +0 -9
- package/lib/components/fusionauth-register.button/fusion-auth-register-button.component.d.ts +0 -10
- package/lib/fusion-auth.module.d.ts +0 -13
- package/lib/fusion-auth.service.d.ts +0 -59
- package/lib/injectionToken.d.ts +0 -3
- package/lib/types.d.ts +0 -78
- package/public-api.d.ts +0 -7
- package/sdkcore/CookieHelpers/CookieHelpers.d.ts +0 -11
- package/sdkcore/CookieHelpers/index.d.ts +0 -1
- package/sdkcore/RedirectHelper/RedirectHelper.d.ts +0 -10
- package/sdkcore/RedirectHelper/index.d.ts +0 -1
- package/sdkcore/SDKConfig/SDKConfig.d.ts +0 -79
- package/sdkcore/SDKConfig/index.d.ts +0 -1
- package/sdkcore/SDKContext/SDKContext.d.ts +0 -69
- package/sdkcore/SDKContext/index.d.ts +0 -1
- package/sdkcore/SDKCore/SDKCore.d.ts +0 -28
- package/sdkcore/SDKCore/index.d.ts +0 -1
- package/sdkcore/UrlHelper/UrlHelper.d.ts +0 -23
- package/sdkcore/UrlHelper/UrlHelperTypes.d.ts +0 -11
- package/sdkcore/UrlHelper/index.d.ts +0 -2
- package/sdkcore/index.d.ts +0 -5
- package/sdkcore/testUtils/index.d.ts +0 -2
- package/sdkcore/testUtils/mockLoggedIn.d.ts +0 -5
- package/sdkcore/testUtils/mockWindowLocation.d.ts +0 -18
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './RedirectHelper';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1JlZGlyZWN0SGVscGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL1JlZGlyZWN0SGVscGVyJztcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvc2RrY29yZS9TREtDb25maWcvU0RLQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb29raWVBZGFwdGVyIH0gZnJvbSAnLi4nO1xuXG4vKipcbiAqIENvbmZpZyBmb3IgRnVzaW9uQXV0aCBXZWIgU0RLc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNES0NvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBzZXJ2ZXIgdGhhdCBwZXJmb3JtcyB0aGUgdG9rZW4gZXhjaGFuZ2UuXG4gICAqL1xuICBzZXJ2ZXJVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNsaWVudCBpZCBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqL1xuICBjbGllbnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVkaXJlY3QgVVJJIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHJlZGlyZWN0VXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBPQXV0aDIgc2NvcGUgcGFyYW1ldGVyIHBhc3NlZCB0byB0aGUgYC9vYXV0aDIvYXV0aG9yaXplYCBlbmRwb2ludC4gSWYgbm90IHNwZWNpZmllZCBmdXNpb25hdXRoIHdpbGwgZGVmYXVsdCB0aGlzIHRvIGBvcGVuaWQgb2ZmbGluZV9hY2Nlc3NgLlxuICAgKi9cbiAgc2NvcGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWRpcmVjdCBVUkkgZm9yIHBvc3QtbG9nb3V0LiBEZWZhdWx0cyB0aGUgcHJvdmlkZWQgYHJlZGlyZWN0VXJpYC5cbiAgICovXG4gIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT86IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlcyBhdXRvbWF0aWMgdG9rZW4gcmVmcmVzaGluZy4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBzaG91bGRBdXRvUmVmcmVzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgdGhlIFNESyB0byBhdXRvbWF0aWNhbGx5IGhhbmRsZSBmZXRjaGluZyB1c2VyIGluZm8gd2hlbiBsb2dnZWQgaW4uIERlZmF1bHRzIHRvIGZhbHNlLlxuICAgKi9cbiAgc2hvdWxkQXV0b0ZldGNoVXNlckluZm8/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmVmb3JlIHRoZSBhY2Nlc3MgdG9rZW4gZXhwaXJ5IHdoZW4gdGhlIGF1dG8gcmVmcmVzaCBmdW5jdGlvbmFsaXR5IGtpY2tzIGluIGlmIGVuYWJsZWQuIERlZmF1bHQgaXMgMzAuXG4gICAqL1xuICBhdXRvUmVmcmVzaFNlY29uZHNCZWZvcmVFeHBpcnk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGludm9rZWQgd2l0aCB0aGUgYHN0YXRlYCB2YWx1ZSB1cG9uIHJlZGlyZWN0IGZyb20gbG9naW4gb3IgcmVnaXN0ZXIuXG4gICAqL1xuICBvblJlZGlyZWN0PzogKHN0YXRlPzogc3RyaW5nKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgbG9naW4gZW5kcG9pbnQuXG4gICAqL1xuICBsb2dpblBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSByZWdpc3RlciBlbmRwb2ludC5cbiAgICovXG4gIHJlZ2lzdGVyUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIGxvZ291dCBlbmRwb2ludC5cbiAgICovXG4gIGxvZ291dFBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSB0b2tlbiByZWZyZXNoIGVuZHBvaW50LlxuICAgKi9cbiAgdG9rZW5SZWZyZXNoUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIG1lIGVuZHBvaW50LlxuICAgKi9cbiAgbWVQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYWNjZXNzIHRva2VuIGV4cGlyYXRpb24gbW9tZW50IGNvb2tpZS5cbiAgICogT25seSBzZXQgdGhpcyBpZiB5b3UgYXJlIGhvc3Rpbmcgc2VydmVyIHRoYXQgdXNlcyBhIGN1c3RvbSBuYW1lIGZvciB0aGUgJ2FwcC5hdF9leHAnIGNvb2tpZS5cbiAgICovXG4gIGFjY2Vzc1Rva2VuRXhwaXJlQ29va2llTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ2FsbGJhY2sgdG8gYmUgaW52b2tlZCBpZiBhIHJlcXVlc3QgdG8gcmVmcmVzaCB0aGUgYWNjZXNzIHRva2VuIGZhaWxzIGR1cmluZyBhdXRvcmVmcmVzaC5cbiAgICovXG4gIG9uQXV0b1JlZnJlc2hGYWlsdXJlPzogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcblxuICAvKipcbiAgICogQWRhcHRlciBwYXR0ZXJuIGZvciBTU1IgZnJhbWV3b3JrcyBzdWNoIGFzIG5leHQgb3IgbnV4dFxuICAgKi9cbiAgY29va2llQWRhcHRlcj86IENvb2tpZUFkYXB0ZXI7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGJlIGludm9rZWQgYXQgdGhlIG1vbWVudCBvZiBhY2Nlc3MgdG9rZW4gZXhwaXJhdGlvblxuICAgKi9cbiAgb25Ub2tlbkV4cGlyYXRpb246ICgpID0+IHZvaWQ7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './SDKConfig';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1NES0NvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vU0RLQ29uZmlnJztcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvU0RLQ29udGV4dC9TREtDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVGhlIGNvbnRleHQgcHJvdmlkZWQgYnkgRnVzaW9uQXV0aCBXZWIgU0RLcyAqL1xuZXhwb3J0IGludGVyZmFjZSBTREtDb250ZXh0IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLlxuICAgKi9cbiAgaXNMb2dnZWRJbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGF0YSBmZXRjaGVkIGZyb20gdGhlIGNvbmZpZ3VyZWQgJ21lJyBlbmRwb2ludC5cbiAgICovXG4gIHVzZXJJbmZvOiBVc2VySW5mbyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdXNlciBpbmZvIGZyb20gdGhlICdtZScgZW5kcG9pbnQuXG4gICAqIFRoaXMgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvRmV0Y2hVc2VySW5mb2AuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFVzZXJJbmZvPn1cbiAgICovXG4gIGZldGNoVXNlckluZm86ICgpID0+IFByb21pc2U8VXNlckluZm8gfCB1bmRlZmluZWQ+O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZmV0Y2hVc2VySW5mbyBjYWxsIGlzIHVucmVzb2x2ZWQuXG4gICAqL1xuICBpc0ZldGNoaW5nVXNlckluZm86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVycm9yIG9jY3VycmVkIHdoaWxlIGZldGNoaW5nIHVzZXJJbmZvLlxuICAgKi9cbiAgZXJyb3I6IEVycm9yIHwgbnVsbDtcblxuICAvKipcbiAgICogSW5pdGlhdGVzIGxvZ2luIGZsb3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhdGVdIC0gT3B0aW9uYWwgdmFsdWUgdG8gYmUgZWNob2VkIGJhY2sgdG8gdGhlIFNESyB1cG9uIHJlZGlyZWN0LlxuICAgKi9cbiAgc3RhcnRMb2dpbjogKHN0YXRlPzogc3RyaW5nKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBJbml0aWF0ZXMgcmVnaXN0ZXIgZmxvdy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtzdGF0ZV0gLSBPcHRpb25hbCB2YWx1ZSB0byBiZSBlY2hvZWQgYmFjayB0byB0aGUgU0RLIHVwb24gcmVkaXJlY3QuXG4gICAqL1xuICBzdGFydFJlZ2lzdGVyOiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEluaXRpYXRlcyBsb2dvdXQgZmxvdy5cbiAgICovXG4gIHN0YXJ0TG9nb3V0OiAoKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIGFjY2VzcyB0b2tlbiBhIHNpbmdsZSB0aW1lLlxuICAgKiBUaGlzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSBpZiB0aGUgU0RLIGlzIGNvbmZpZ3VyZWQgd2l0aCBgc2hvdWxkQXV0b1JlZnJlc2hgLlxuICAgKi9cbiAgcmVmcmVzaFRva2VuOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyBhdXRvbWF0aWMgYWNjZXNzIHRva2VuIHJlZnJlc2hpbmcuXG4gICAqIFRoaXMgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvUmVmcmVzaGAuXG4gICAqL1xuICBpbml0QXV0b1JlZnJlc2g6ICgpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogVXNlciBpbmZvcm1hdGlvbiByZXR1cm5lZCBmcm9tIEZ1c2lvbkF1dGguXG4gKi9cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0ge1xuICBhcHBsaWNhdGlvbklkPzogc3RyaW5nO1xuICBiaXJ0aGRhdGU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIGZhbWlseV9uYW1lPzogc3RyaW5nO1xuICBnaXZlbl9uYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBtaWRkbGVfbmFtZT86IHN0cmluZztcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICBwcmVmZXJyZWRfdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHJvbGVzPzogYW55W107XG4gIHNpZD86IHN0cmluZztcbiAgc3ViPzogc3RyaW5nO1xuICB0aWQ/OiBzdHJpbmc7XG59O1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './SDKContext';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1NES0NvbnRleHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL1NES0NvbnRleHQnO1xuIl19
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { UrlHelper } from '../UrlHelper';
|
|
2
|
-
import { RedirectHelper } from '../RedirectHelper';
|
|
3
|
-
import { getAccessTokenExpirationMoment } from '../CookieHelpers';
|
|
4
|
-
/** A class containing framework-agnostic SDK methods */
|
|
5
|
-
export class SDKCore {
|
|
6
|
-
constructor(config) {
|
|
7
|
-
this.redirectHelper = new RedirectHelper();
|
|
8
|
-
this.config = config;
|
|
9
|
-
this.urlHelper = new UrlHelper({
|
|
10
|
-
serverUrl: config.serverUrl,
|
|
11
|
-
clientId: config.clientId,
|
|
12
|
-
redirectUri: config.redirectUri,
|
|
13
|
-
scope: config.scope,
|
|
14
|
-
mePath: config.mePath,
|
|
15
|
-
loginPath: config.loginPath,
|
|
16
|
-
registerPath: config.registerPath,
|
|
17
|
-
logoutPath: config.logoutPath,
|
|
18
|
-
tokenRefreshPath: config.tokenRefreshPath,
|
|
19
|
-
postLogoutRedirectUri: config.postLogoutRedirectUri,
|
|
20
|
-
});
|
|
21
|
-
this.scheduleTokenExpiration();
|
|
22
|
-
}
|
|
23
|
-
startLogin(state) {
|
|
24
|
-
this.redirectHelper.handlePreRedirect(state);
|
|
25
|
-
window.location.assign(this.urlHelper.getLoginUrl(state));
|
|
26
|
-
}
|
|
27
|
-
startRegister(state) {
|
|
28
|
-
this.redirectHelper.handlePreRedirect(state);
|
|
29
|
-
window.location.assign(this.urlHelper.getRegisterUrl(state));
|
|
30
|
-
}
|
|
31
|
-
startLogout() {
|
|
32
|
-
window.location.assign(this.urlHelper.getLogoutUrl());
|
|
33
|
-
}
|
|
34
|
-
manageAccount() {
|
|
35
|
-
window.location.assign(this.urlHelper.getAccountManagementUrl());
|
|
36
|
-
}
|
|
37
|
-
async fetchUserInfo() {
|
|
38
|
-
const userInfoResponse = await fetch(this.urlHelper.getMeUrl(), {
|
|
39
|
-
credentials: 'include',
|
|
40
|
-
});
|
|
41
|
-
if (!userInfoResponse.ok) {
|
|
42
|
-
throw new Error(`Unable to fetch userInfo in fusionauth. Request failed with status code ${userInfoResponse?.status}`);
|
|
43
|
-
}
|
|
44
|
-
const userInfo = await userInfoResponse.json();
|
|
45
|
-
return userInfo;
|
|
46
|
-
}
|
|
47
|
-
async refreshToken() {
|
|
48
|
-
const response = await fetch(this.urlHelper.getTokenRefreshUrl(), {
|
|
49
|
-
method: 'POST',
|
|
50
|
-
credentials: 'include',
|
|
51
|
-
headers: {
|
|
52
|
-
'Content-Type': 'text/plain',
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
if (!(response.status >= 200 && response.status < 300)) {
|
|
56
|
-
const message = (await response?.text()) ||
|
|
57
|
-
'Error refreshing access token in fusionauth';
|
|
58
|
-
throw new Error(message);
|
|
59
|
-
}
|
|
60
|
-
// a successful request means that app_exp was bumped into the future.
|
|
61
|
-
// reschedule the access token expiration event.
|
|
62
|
-
this.scheduleTokenExpiration();
|
|
63
|
-
return response;
|
|
64
|
-
}
|
|
65
|
-
initAutoRefresh() {
|
|
66
|
-
if (!this.isLoggedIn) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
const secondsBeforeRefresh = this.config.autoRefreshSecondsBeforeExpiry ?? 10;
|
|
70
|
-
const millisecondsBeforeRefresh = secondsBeforeRefresh * 1000;
|
|
71
|
-
const now = new Date().getTime();
|
|
72
|
-
const refreshTime = this.at_exp - millisecondsBeforeRefresh;
|
|
73
|
-
const timeTillRefresh = Math.max(refreshTime - now, 0);
|
|
74
|
-
return setTimeout(async () => {
|
|
75
|
-
try {
|
|
76
|
-
await this.refreshToken();
|
|
77
|
-
this.initAutoRefresh();
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
this.config.onAutoRefreshFailure?.(error);
|
|
81
|
-
}
|
|
82
|
-
}, timeTillRefresh);
|
|
83
|
-
}
|
|
84
|
-
handlePostRedirect(callback) {
|
|
85
|
-
if (this.isLoggedIn && this.redirectHelper.didRedirect) {
|
|
86
|
-
this.redirectHelper.handlePostRedirect(callback);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
get isLoggedIn() {
|
|
90
|
-
return this.at_exp > new Date().getTime();
|
|
91
|
-
}
|
|
92
|
-
/** The moment of access token expiration in milliseconds since epoch. */
|
|
93
|
-
get at_exp() {
|
|
94
|
-
return getAccessTokenExpirationMoment(this.config.accessTokenExpireCookieName, this.config.cookieAdapter);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Schedules `onTokenExpiration` at moment of access token expiration.
|
|
98
|
-
* SDKCore is not necessarily reactive like React, Angular, and Vue.
|
|
99
|
-
* so `onTokenExpiration` is for reactive frameworks to hook in and perform actions as on token expiration.
|
|
100
|
-
*/
|
|
101
|
-
scheduleTokenExpiration() {
|
|
102
|
-
clearTimeout(this.tokenExpirationTimeout);
|
|
103
|
-
const now = new Date().getTime();
|
|
104
|
-
const millisecondsTillExpiration = this.at_exp - now;
|
|
105
|
-
if (millisecondsTillExpiration > 0) {
|
|
106
|
-
this.tokenExpirationTimeout = setTimeout(this.config.onTokenExpiration, millisecondsTillExpiration);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvU0RLQ29yZS9TREtDb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxFLHdEQUF3RDtBQUN4RCxNQUFNLE9BQU8sT0FBTztJQU1sQixZQUFZLE1BQWlCO1FBSHJCLG1CQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFJNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM3QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7WUFDakMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDekMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLHFCQUFxQjtTQUNwRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENB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SGVscGVyJztcbmltcG9ydCB7IFNES0NvbmZpZyB9IGZyb20gJy4uL1NES0NvbmZpZyc7XG5pbXBvcnQgeyBVc2VySW5mbyB9IGZyb20gJy4uL1NES0NvbnRleHQnO1xuaW1wb3J0IHsgUmVkaXJlY3RIZWxwZXIgfSBmcm9tICcuLi9SZWRpcmVjdEhlbHBlcic7XG5pbXBvcnQgeyBnZXRBY2Nlc3NUb2tlbkV4cGlyYXRpb25Nb21lbnQgfSBmcm9tICcuLi9Db29raWVIZWxwZXJzJztcblxuLyoqIEEgY2xhc3MgY29udGFpbmluZyBmcmFtZXdvcmstYWdub3N0aWMgU0RLIG1ldGhvZHMgKi9cbmV4cG9ydCBjbGFzcyBTREtDb3JlIHtcbiAgcHJpdmF0ZSBjb25maWc6IFNES0NvbmZpZztcbiAgcHJpdmF0ZSB1cmxIZWxwZXI6IFVybEhlbHBlcjtcbiAgcHJpdmF0ZSByZWRpcmVjdEhlbHBlcjogUmVkaXJlY3RIZWxwZXIgPSBuZXcgUmVkaXJlY3RIZWxwZXIoKTtcbiAgcHJpdmF0ZSB0b2tlbkV4cGlyYXRpb25UaW1lb3V0PzogTm9kZUpTLlRpbWVvdXQ7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBTREtDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLnVybEhlbHBlciA9IG5ldyBVcmxIZWxwZXIoe1xuICAgICAgc2VydmVyVXJsOiBjb25maWcuc2VydmVyVXJsLFxuICAgICAgY2xpZW50SWQ6IGNvbmZpZy5jbGllbnRJZCxcbiAgICAgIHJlZGlyZWN0VXJpOiBjb25maWcucmVkaXJlY3RVcmksXG4gICAgICBzY29wZTogY29uZmlnLnNjb3BlLFxuICAgICAgbWVQYXRoOiBjb25maWcubWVQYXRoLFxuICAgICAgbG9naW5QYXRoOiBjb25maWcubG9naW5QYXRoLFxuICAgICAgcmVnaXN0ZXJQYXRoOiBjb25maWcucmVnaXN0ZXJQYXRoLFxuICAgICAgbG9nb3V0UGF0aDogY29uZmlnLmxvZ291dFBhdGgsXG4gICAgICB0b2tlblJlZnJlc2hQYXRoOiBjb25maWcudG9rZW5SZWZyZXNoUGF0aCxcbiAgICAgIHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogY29uZmlnLnBvc3RMb2dvdXRSZWRpcmVjdFVyaSxcbiAgICB9KTtcbiAgICB0aGlzLnNjaGVkdWxlVG9rZW5FeHBpcmF0aW9uKCk7XG4gIH1cblxuICBzdGFydExvZ2luKHN0YXRlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5yZWRpcmVjdEhlbHBlci5oYW5kbGVQcmVSZWRpcmVjdChzdGF0ZSk7XG4gICAgd2luZG93LmxvY2F0aW9uLmFzc2lnbih0aGlzLnVybEhlbHBlci5nZXRMb2dpblVybChzdGF0ZSkpO1xuICB9XG5cbiAgc3RhcnRSZWdpc3RlcihzdGF0ZT86IHN0cmluZykge1xuICAgIHRoaXMucmVkaXJlY3RIZWxwZXIuaGFuZGxlUHJlUmVkaXJlY3Qoc3RhdGUpO1xuICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24odGhpcy51cmxIZWxwZXIuZ2V0UmVnaXN0ZXJVcmwoc3RhdGUpKTtcbiAgfVxuXG4gIHN0YXJ0TG9nb3V0KCkge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24odGhpcy51cmxIZWxwZXIuZ2V0TG9nb3V0VXJsKCkpO1xuICB9XG5cbiAgbWFuYWdlQWNjb3VudCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKHRoaXMudXJsSGVscGVyLmdldEFjY291bnRNYW5hZ2VtZW50VXJsKCkpO1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hVc2VySW5mbzxUID0gVXNlckluZm8+KCkge1xuICAgIGNvbnN0IHVzZXJJbmZvUmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLnVybEhlbHBlci5nZXRNZVVybCgpLCB7XG4gICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgIH0pO1xuXG4gICAgaWYgKCF1c2VySW5mb1Jlc3BvbnNlLm9rKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbmFibGUgdG8gZmV0Y2ggdXNlckluZm8gaW4gZnVzaW9uYXV0aC4gUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAke3VzZXJJbmZvUmVzcG9uc2U/LnN0YXR1c31gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VySW5mbzogVCA9IGF3YWl0IHVzZXJJbmZvUmVzcG9uc2UuanNvbigpO1xuICAgIHJldHVybiB1c2VySW5mbztcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLnVybEhlbHBlci5nZXRUb2tlblJlZnJlc2hVcmwoKSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ3RleHQvcGxhaW4nLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmICghKHJlc3BvbnNlLnN0YXR1cyA+PSAyMDAgJiYgcmVzcG9uc2Uuc3RhdHVzIDwgMzAwKSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgIChhd2FpdCByZXNwb25zZT8udGV4dCgpKSB8fFxuICAgICAgICAnRXJyb3IgcmVmcmVzaGluZyBhY2Nlc3MgdG9rZW4gaW4gZnVzaW9uYXV0aCc7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLy8gYSBzdWNjZXNzZnVsIHJlcXVlc3QgbWVhbnMgdGhhdCBhcHBfZXhwIHdhcyBidW1wZWQgaW50byB0aGUgZnV0dXJlLlxuICAgIC8vIHJlc2NoZWR1bGUgdGhlIGFjY2VzcyB0b2tlbiBleHBpcmF0aW9uIGV2ZW50LlxuICAgIHRoaXMuc2NoZWR1bGVUb2tlbkV4cGlyYXRpb24oKTtcblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIGluaXRBdXRvUmVmcmVzaCgpOiBOb2RlSlMuVGltZW91dCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLmlzTG9nZ2VkSW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRzQmVmb3JlUmVmcmVzaCA9XG4gICAgICB0aGlzLmNvbmZpZy5hdXRvUmVmcmVzaFNlY29uZHNCZWZvcmVFeHBpcnkgPz8gMTA7XG5cbiAgICBjb25zdCBtaWxsaXNlY29uZHNCZWZvcmVSZWZyZXNoID0gc2Vjb25kc0JlZm9yZVJlZnJlc2ggKiAxMDAwO1xuXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgY29uc3QgcmVmcmVzaFRpbWUgPSB0aGlzLmF0X2V4cCAtIG1pbGxpc2Vjb25kc0JlZm9yZVJlZnJlc2g7XG4gICAgY29uc3QgdGltZVRpbGxSZWZyZXNoID0gTWF0aC5tYXgocmVmcmVzaFRpbWUgLSBub3csIDApO1xuXG4gICAgcmV0dXJuIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICAgICAgdGhpcy5pbml0QXV0b1JlZnJlc2goKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLm9uQXV0b1JlZnJlc2hGYWlsdXJlPy4oZXJyb3IgYXMgRXJyb3IpO1xuICAgICAgfVxuICAgIH0sIHRpbWVUaWxsUmVmcmVzaCk7XG4gIH1cblxuICBoYW5kbGVQb3N0UmVkaXJlY3QoY2FsbGJhY2s/OiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICBpZiAodGhpcy5pc0xvZ2dlZEluICYmIHRoaXMucmVkaXJlY3RIZWxwZXIuZGlkUmVkaXJlY3QpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RIZWxwZXIuaGFuZGxlUG9zdFJlZGlyZWN0KGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNMb2dnZWRJbigpIHtcbiAgICByZXR1cm4gdGhpcy5hdF9leHAgPiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgfVxuXG4gIC8qKiBUaGUgbW9tZW50IG9mIGFjY2VzcyB0b2tlbiBleHBpcmF0aW9uIGluIG1pbGxpc2Vjb25kcyBzaW5jZSBlcG9jaC4gKi9cbiAgcHJpdmF0ZSBnZXQgYXRfZXhwKCk6IG51bWJlciB8IC0xIHtcbiAgICByZXR1cm4gZ2V0QWNjZXNzVG9rZW5FeHBpcmF0aW9uTW9tZW50KFxuICAgICAgdGhpcy5jb25maWcuYWNjZXNzVG9rZW5FeHBpcmVDb29raWVOYW1lLFxuICAgICAgdGhpcy5jb25maWcuY29va2llQWRhcHRlcixcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjaGVkdWxlcyBgb25Ub2tlbkV4cGlyYXRpb25gIGF0IG1vbWVudCBvZiBhY2Nlc3MgdG9rZW4gZXhwaXJhdGlvbi5cbiAgICogU0RLQ29yZSBpcyBub3QgbmVjZXNzYXJpbHkgcmVhY3RpdmUgbGlrZSBSZWFjdCwgQW5ndWxhciwgYW5kIFZ1ZS5cbiAgICogc28gYG9uVG9rZW5FeHBpcmF0aW9uYCBpcyBmb3IgcmVhY3RpdmUgZnJhbWV3b3JrcyB0byBob29rIGluIGFuZCBwZXJmb3JtIGFjdGlvbnMgYXMgb24gdG9rZW4gZXhwaXJhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc2NoZWR1bGVUb2tlbkV4cGlyYXRpb24oKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudG9rZW5FeHBpcmF0aW9uVGltZW91dCk7XG5cbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICBjb25zdCBtaWxsaXNlY29uZHNUaWxsRXhwaXJhdGlvbiA9IHRoaXMuYXRfZXhwIC0gbm93O1xuXG4gICAgaWYgKG1pbGxpc2Vjb25kc1RpbGxFeHBpcmF0aW9uID4gMCkge1xuICAgICAgdGhpcy50b2tlbkV4cGlyYXRpb25UaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgdGhpcy5jb25maWcub25Ub2tlbkV4cGlyYXRpb24sXG4gICAgICAgIG1pbGxpc2Vjb25kc1RpbGxFeHBpcmF0aW9uLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './SDKCore';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1NES0NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL1NES0NvcmUnO1xuIl19
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/** A class responsible for generating URLs that FusionAuth SDKs interact with. */
|
|
2
|
-
export class UrlHelper {
|
|
3
|
-
constructor(config) {
|
|
4
|
-
this.serverUrl = config.serverUrl;
|
|
5
|
-
this.clientId = config.clientId;
|
|
6
|
-
this.redirectUri = config.redirectUri;
|
|
7
|
-
this.scope = config.scope;
|
|
8
|
-
this.postLogoutRedirectUri = config.postLogoutRedirectUri;
|
|
9
|
-
this.mePath = config.mePath ?? '/app/me/';
|
|
10
|
-
this.loginPath = config.loginPath ?? '/app/login/';
|
|
11
|
-
this.registerPath = config.registerPath ?? '/app/register/';
|
|
12
|
-
this.logoutPath = config.logoutPath ?? '/app/logout/';
|
|
13
|
-
this.tokenRefreshPath = config.tokenRefreshPath ?? '/app/refresh/';
|
|
14
|
-
}
|
|
15
|
-
getMeUrl() {
|
|
16
|
-
return this.generateUrl(this.mePath);
|
|
17
|
-
}
|
|
18
|
-
getLoginUrl(state) {
|
|
19
|
-
return this.generateUrl(this.loginPath, {
|
|
20
|
-
client_id: this.clientId,
|
|
21
|
-
redirect_uri: this.redirectUri,
|
|
22
|
-
scope: this.scope,
|
|
23
|
-
state,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
getRegisterUrl(state) {
|
|
27
|
-
return this.generateUrl(this.registerPath, {
|
|
28
|
-
client_id: this.clientId,
|
|
29
|
-
redirect_uri: this.redirectUri,
|
|
30
|
-
scope: this.scope,
|
|
31
|
-
state,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
getLogoutUrl() {
|
|
35
|
-
return this.generateUrl(this.logoutPath, {
|
|
36
|
-
client_id: this.clientId,
|
|
37
|
-
post_logout_redirect_uri: this.postLogoutRedirectUri || this.redirectUri,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
getTokenRefreshUrl() {
|
|
41
|
-
return this.generateUrl(this.tokenRefreshPath, {
|
|
42
|
-
client_id: this.clientId,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
getAccountManagementUrl() {
|
|
46
|
-
return this.generateUrl('/account/', {
|
|
47
|
-
client_id: this.clientId,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
generateUrl(path, params) {
|
|
51
|
-
const url = new URL(this.serverUrl);
|
|
52
|
-
url.pathname = path;
|
|
53
|
-
if (params) {
|
|
54
|
-
const urlSearchParams = this.generateURLSearchParams(params);
|
|
55
|
-
url.search = urlSearchParams.toString();
|
|
56
|
-
}
|
|
57
|
-
return url;
|
|
58
|
-
}
|
|
59
|
-
generateURLSearchParams(params) {
|
|
60
|
-
const urlSearchParams = new URLSearchParams();
|
|
61
|
-
Object.entries(params).forEach(([key, value]) => {
|
|
62
|
-
if (value) {
|
|
63
|
-
urlSearchParams.append(key, value);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
return urlSearchParams;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXJsSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvc2RrY29yZS9VcmxIZWxwZXIvVXJsSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtGQUFrRjtBQUNsRixNQUFNLE9BQU8sU0FBUztJQWFwQixZQUFZLE1BQXVCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBRTFELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLGFBQWEsQ0FBQztRQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksZ0JBQWdCLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLGNBQWMsQ0FBQztRQUN0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixJQUFJLGVBQWUsQ0FBQztJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDOUIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEtBQUs7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWM7UUFDM0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3hCLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVztZQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdkMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3hCLHdCQUF3QixFQUFFLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsV0FBVztTQUN6RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDN0MsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFZLEVBQUUsTUFBNkI7UUFDN0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXBCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0QsR0FBRyxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUMsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLHVCQUF1QixDQUM3QixNQUE0QjtRQUU1QixNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBRTlDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM5QyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNWLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVybEhlbHBlckNvbmZpZywgVXJsSGVscGVyUXVlcnlQYXJhbXMgfSBmcm9tICcuL1VybEhlbHBlclR5cGVzJztcblxuLyoqIEEgY2xhc3MgcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgVVJMcyB0aGF0IEZ1c2lvbkF1dGggU0RLcyBpbnRlcmFjdCB3aXRoLiAqL1xuZXhwb3J0IGNsYXNzIFVybEhlbHBlciB7XG4gIHNlcnZlclVybDogc3RyaW5nO1xuICBjbGllbnRJZDogc3RyaW5nO1xuICByZWRpcmVjdFVyaTogc3RyaW5nO1xuICBzY29wZT86IHN0cmluZztcblxuICBtZVBhdGg6IHN0cmluZztcbiAgbG9naW5QYXRoOiBzdHJpbmc7XG4gIHJlZ2lzdGVyUGF0aDogc3RyaW5nO1xuICBsb2dvdXRQYXRoOiBzdHJpbmc7XG4gIHRva2VuUmVmcmVzaFBhdGg6IHN0cmluZztcbiAgcG9zdExvZ291dFJlZGlyZWN0VXJpPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogVXJsSGVscGVyQ29uZmlnKSB7XG4gICAgdGhpcy5zZXJ2ZXJVcmwgPSBjb25maWcuc2VydmVyVXJsO1xuICAgIHRoaXMuY2xpZW50SWQgPSBjb25maWcuY2xpZW50SWQ7XG4gICAgdGhpcy5yZWRpcmVjdFVyaSA9IGNvbmZpZy5yZWRpcmVjdFVyaTtcbiAgICB0aGlzLnNjb3BlID0gY29uZmlnLnNjb3BlO1xuICAgIHRoaXMucG9zdExvZ291dFJlZGlyZWN0VXJpID0gY29uZmlnLnBvc3RMb2dvdXRSZWRpcmVjdFVyaTtcblxuICAgIHRoaXMubWVQYXRoID0gY29uZmlnLm1lUGF0aCA/PyAnL2FwcC9tZS8nO1xuICAgIHRoaXMubG9naW5QYXRoID0gY29uZmlnLmxvZ2luUGF0aCA/PyAnL2FwcC9sb2dpbi8nO1xuICAgIHRoaXMucmVnaXN0ZXJQYXRoID0gY29uZmlnLnJlZ2lzdGVyUGF0aCA/PyAnL2FwcC9yZWdpc3Rlci8nO1xuICAgIHRoaXMubG9nb3V0UGF0aCA9IGNvbmZpZy5sb2dvdXRQYXRoID8/ICcvYXBwL2xvZ291dC8nO1xuICAgIHRoaXMudG9rZW5SZWZyZXNoUGF0aCA9IGNvbmZpZy50b2tlblJlZnJlc2hQYXRoID8/ICcvYXBwL3JlZnJlc2gvJztcbiAgfVxuXG4gIGdldE1lVXJsKCk6IFVSTCB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVVcmwodGhpcy5tZVBhdGgpO1xuICB9XG5cbiAgZ2V0TG9naW5Vcmwoc3RhdGU/OiBzdHJpbmcpOiBVUkwge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlVXJsKHRoaXMubG9naW5QYXRoLCB7XG4gICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50SWQsXG4gICAgICByZWRpcmVjdF91cmk6IHRoaXMucmVkaXJlY3RVcmksXG4gICAgICBzY29wZTogdGhpcy5zY29wZSxcbiAgICAgIHN0YXRlLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0UmVnaXN0ZXJVcmwoc3RhdGU/OiBzdHJpbmcpOiBVUkwge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlVXJsKHRoaXMucmVnaXN0ZXJQYXRoLCB7XG4gICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50SWQsXG4gICAgICByZWRpcmVjdF91cmk6IHRoaXMucmVkaXJlY3RVcmksXG4gICAgICBzY29wZTogdGhpcy5zY29wZSxcbiAgICAgIHN0YXRlLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0TG9nb3V0VXJsKCk6IFVSTCB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVVcmwodGhpcy5sb2dvdXRQYXRoLCB7XG4gICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50SWQsXG4gICAgICBwb3N0X2xvZ291dF9yZWRpcmVjdF91cmk6IHRoaXMucG9zdExvZ291dFJlZGlyZWN0VXJpIHx8IHRoaXMucmVkaXJlY3RVcmksXG4gICAgfSk7XG4gIH1cblxuICBnZXRUb2tlblJlZnJlc2hVcmwoKTogVVJMIHtcbiAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZVVybCh0aGlzLnRva2VuUmVmcmVzaFBhdGgsIHtcbiAgICAgIGNsaWVudF9pZDogdGhpcy5jbGllbnRJZCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldEFjY291bnRNYW5hZ2VtZW50VXJsKCk6IFVSTCB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVVcmwoJy9hY2NvdW50LycsIHtcbiAgICAgIGNsaWVudF9pZDogdGhpcy5jbGllbnRJZCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVcmwocGF0aDogc3RyaW5nLCBwYXJhbXM/OiBVcmxIZWxwZXJRdWVyeVBhcmFtcyk6IFVSTCB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLnNlcnZlclVybCk7XG4gICAgdXJsLnBhdGhuYW1lID0gcGF0aDtcblxuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGNvbnN0IHVybFNlYXJjaFBhcmFtcyA9IHRoaXMuZ2VuZXJhdGVVUkxTZWFyY2hQYXJhbXMocGFyYW1zKTtcbiAgICAgIHVybC5zZWFyY2ggPSB1cmxTZWFyY2hQYXJhbXMudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVSTFNlYXJjaFBhcmFtcyhcbiAgICBwYXJhbXM6IFVybEhlbHBlclF1ZXJ5UGFyYW1zLFxuICApOiBVUkxTZWFyY2hQYXJhbXMge1xuICAgIGNvbnN0IHVybFNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcblxuICAgIE9iamVjdC5lbnRyaWVzKHBhcmFtcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdXJsU2VhcmNoUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB1cmxTZWFyY2hQYXJhbXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXJsSGVscGVyVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1VybEhlbHBlci9VcmxIZWxwZXJUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0RLQ29uZmlnIH0gZnJvbSAnLi4vU0RLQ29uZmlnJztcblxuLyoqIEEgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIHRoZSBVcmxIZWxwZXIgY2xhc3MuICovXG5leHBvcnQgdHlwZSBVcmxIZWxwZXJDb25maWcgPSBQaWNrPFxuICBTREtDb25maWcsXG4gIHwgJ3NlcnZlclVybCdcbiAgfCAnY2xpZW50SWQnXG4gIHwgJ3JlZGlyZWN0VXJpJ1xuICB8ICdtZVBhdGgnXG4gIHwgJ2xvZ2luUGF0aCdcbiAgfCAncmVnaXN0ZXJQYXRoJ1xuICB8ICdsb2dvdXRQYXRoJ1xuICB8ICd0b2tlblJlZnJlc2hQYXRoJ1xuICB8ICdzY29wZSdcbiAgfCAncG9zdExvZ291dFJlZGlyZWN0VXJpJ1xuPjtcblxuLyoqIFRoZSBxdWVyeSBwYXJhbXMgYXNzb2NpYXRlZCB3aXRoIFVSTHMgZ2VuZXJhdGVkIGJ5IHRoZSBVcmxIZWxwZXIgY2xhc3MuICovXG5leHBvcnQgdHlwZSBVcmxIZWxwZXJRdWVyeVBhcmFtcyA9IHtcbiAgY2xpZW50X2lkOiBzdHJpbmc7XG4gIHJlZGlyZWN0X3VyaT86IHN0cmluZztcbiAgcG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpPzogc3RyaW5nO1xuICBzY29wZT86IHN0cmluZztcbiAgc3RhdGU/OiBzdHJpbmc7XG59O1xuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './UrlHelper';
|
|
2
|
-
export * from './UrlHelperTypes';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1VybEhlbHBlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9VcmxIZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9VcmxIZWxwZXJUeXBlcyc7XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './SDKCore';
|
|
2
|
-
export * from './SDKConfig';
|
|
3
|
-
export * from './SDKContext';
|
|
4
|
-
export * from './testUtils';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9TREtDb3JlJztcbmV4cG9ydCAqIGZyb20gJy4vU0RLQ29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vU0RLQ29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RVdGlscyc7XG5leHBvcnQgeyB0eXBlIENvb2tpZUFkYXB0ZXIgfSBmcm9tICcuL0Nvb2tpZUhlbHBlcnMnO1xuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './mockLoggedIn';
|
|
2
|
-
export * from './mockWindowLocation';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL3Rlc3RVdGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vY2tMb2dnZWRJbic7XG5leHBvcnQgKiBmcm9tICcuL21vY2tXaW5kb3dMb2NhdGlvbic7XG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/** Sets `app.at_exp` moment cookie so the user will be logged in for 1 hour. */
|
|
2
|
-
function mockIsLoggedIn() {
|
|
3
|
-
const expirationMoment = new Date();
|
|
4
|
-
expirationMoment.setHours(expirationMoment.getHours() + 1);
|
|
5
|
-
const oneHourInTheFutureInMilliseconds = expirationMoment.getTime() / 1000;
|
|
6
|
-
document.cookie = `app.at_exp=${oneHourInTheFutureInMilliseconds}`;
|
|
7
|
-
}
|
|
8
|
-
/** Removes the `app.at_exp` cookie. */
|
|
9
|
-
function removeAt_expCookie() {
|
|
10
|
-
document.cookie = 'app.at_exp' + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';
|
|
11
|
-
}
|
|
12
|
-
export { mockIsLoggedIn, removeAt_expCookie };
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja0xvZ2dlZEluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvc2RrY29yZS90ZXN0VXRpbHMvbW9ja0xvZ2dlZEluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdGQUFnRjtBQUNoRixTQUFTLGNBQWM7SUFDckIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3BDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRCxNQUFNLGdDQUFnQyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztJQUMzRSxRQUFRLENBQUMsTUFBTSxHQUFHLGNBQWMsZ0NBQWdDLEVBQUUsQ0FBQztBQUNyRSxDQUFDO0FBRUQsdUNBQXVDO0FBQ3ZDLFNBQVMsa0JBQWtCO0lBQ3pCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsWUFBWSxHQUFHLHlDQUF5QyxDQUFDO0FBQzdFLENBQUM7QUFFRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogU2V0cyBgYXBwLmF0X2V4cGAgbW9tZW50IGNvb2tpZSBzbyB0aGUgdXNlciB3aWxsIGJlIGxvZ2dlZCBpbiBmb3IgMSBob3VyLiAqL1xuZnVuY3Rpb24gbW9ja0lzTG9nZ2VkSW4oKSB7XG4gIGNvbnN0IGV4cGlyYXRpb25Nb21lbnQgPSBuZXcgRGF0ZSgpO1xuICBleHBpcmF0aW9uTW9tZW50LnNldEhvdXJzKGV4cGlyYXRpb25Nb21lbnQuZ2V0SG91cnMoKSArIDEpO1xuICBjb25zdCBvbmVIb3VySW5UaGVGdXR1cmVJbk1pbGxpc2Vjb25kcyA9IGV4cGlyYXRpb25Nb21lbnQuZ2V0VGltZSgpIC8gMTAwMDtcbiAgZG9jdW1lbnQuY29va2llID0gYGFwcC5hdF9leHA9JHtvbmVIb3VySW5UaGVGdXR1cmVJbk1pbGxpc2Vjb25kc31gO1xufVxuXG4vKiogUmVtb3ZlcyB0aGUgYGFwcC5hdF9leHBgIGNvb2tpZS4gKi9cbmZ1bmN0aW9uIHJlbW92ZUF0X2V4cENvb2tpZSgpIHtcbiAgZG9jdW1lbnQuY29va2llID0gJ2FwcC5hdF9leHAnICsgJz07ZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCc7XG59XG5cbmV4cG9ydCB7IG1vY2tJc0xvZ2dlZEluLCByZW1vdmVBdF9leHBDb29raWUgfTtcbiJdfQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
function mockWindowLocation(vi) {
|
|
2
|
-
const mockedLocation = {
|
|
3
|
-
...window.location,
|
|
4
|
-
assign: vi.fn(),
|
|
5
|
-
};
|
|
6
|
-
vi.spyOn(window, 'location', 'get').mockReturnValue(mockedLocation);
|
|
7
|
-
return mockedLocation;
|
|
8
|
-
}
|
|
9
|
-
export { mockWindowLocation };
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja1dpbmRvd0xvY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvc2RrY29yZS90ZXN0VXRpbHMvbW9ja1dpbmRvd0xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLFNBQVMsa0JBQWtCLENBQUMsRUFBZTtJQUN6QyxNQUFNLGNBQWMsR0FBRztRQUNyQixHQUFHLE1BQU0sQ0FBQyxRQUFRO1FBQ2xCLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO0tBQ2hCLENBQUM7SUFDRixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BFLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpdGVzdFV0aWxzIH0gZnJvbSAndml0ZXN0JztcblxuZnVuY3Rpb24gbW9ja1dpbmRvd0xvY2F0aW9uKHZpOiBWaXRlc3RVdGlscykge1xuICBjb25zdCBtb2NrZWRMb2NhdGlvbiA9IHtcbiAgICAuLi53aW5kb3cubG9jYXRpb24sXG4gICAgYXNzaWduOiB2aS5mbigpLFxuICB9O1xuICB2aS5zcHlPbih3aW5kb3csICdsb2NhdGlvbicsICdnZXQnKS5tb2NrUmV0dXJuVmFsdWUobW9ja2VkTG9jYXRpb24pO1xuICByZXR1cm4gbW9ja2VkTG9jYXRpb247XG59XG5cbmV4cG9ydCB7IG1vY2tXaW5kb3dMb2NhdGlvbiB9O1xuIl19
|
package/index.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { CookieAdapter } from '../sdkcore';
|
|
2
|
-
/** An adapter class that supports accessing cookies with SSR */
|
|
3
|
-
export declare class SSRCookieAdapter implements CookieAdapter {
|
|
4
|
-
private isBrowser;
|
|
5
|
-
constructor(isBrowser: boolean);
|
|
6
|
-
at_exp(cookieName?: string): string | -1 | undefined;
|
|
7
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { FusionAuthService } from '../../fusion-auth.service';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class FusionAuthAccountButtonComponent {
|
|
4
|
-
private fusionAuth;
|
|
5
|
-
constructor(fusionAuth: FusionAuthService);
|
|
6
|
-
manageAccount(): void;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthAccountButtonComponent, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FusionAuthAccountButtonComponent, "fa-account", never, {}, {}, never, never, false, never>;
|
|
9
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FusionAuthService } from '../../fusion-auth.service';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class FusionAuthLoginButtonComponent {
|
|
4
|
-
private fusionAuth;
|
|
5
|
-
state: string | undefined;
|
|
6
|
-
constructor(fusionAuth: FusionAuthService);
|
|
7
|
-
login(): void;
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthLoginButtonComponent, never>;
|
|
9
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FusionAuthLoginButtonComponent, "fa-login", never, { "state": { "alias": "state"; "required": false; }; }, {}, never, never, false, never>;
|
|
10
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { FusionAuthService } from '../../fusion-auth.service';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class FusionAuthLogoutButtonComponent {
|
|
4
|
-
private fusionAuth;
|
|
5
|
-
constructor(fusionAuth: FusionAuthService);
|
|
6
|
-
logout(): void;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthLogoutButtonComponent, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FusionAuthLogoutButtonComponent, "fa-logout", never, {}, {}, never, never, false, never>;
|
|
9
|
-
}
|
package/lib/components/fusionauth-register.button/fusion-auth-register-button.component.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FusionAuthService } from '../../fusion-auth.service';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class FusionAuthRegisterButtonComponent {
|
|
4
|
-
private fusionAuth;
|
|
5
|
-
state: string | undefined;
|
|
6
|
-
constructor(fusionAuth: FusionAuthService);
|
|
7
|
-
register(): void;
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthRegisterButtonComponent, never>;
|
|
9
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FusionAuthRegisterButtonComponent, "fa-register", never, { "state": { "alias": "state"; "required": false; }; }, {}, never, never, false, never>;
|
|
10
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
import { FusionAuthConfig } from './types';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./components/fusionauth-login.button/fusion-auth-login-button.component";
|
|
5
|
-
import * as i2 from "./components/fusionauth-logout.button/fusion-auth-logout-button.component";
|
|
6
|
-
import * as i3 from "./components/fusionauth-register.button/fusion-auth-register-button.component";
|
|
7
|
-
import * as i4 from "./components/fusionauth-account.button/fusion-auth-account-button.component";
|
|
8
|
-
export declare class FusionAuthModule {
|
|
9
|
-
static forRoot(fusionAuthConfig: FusionAuthConfig): ModuleWithProviders<FusionAuthModule>;
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthModule, never>;
|
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<FusionAuthModule, [typeof i1.FusionAuthLoginButtonComponent, typeof i2.FusionAuthLogoutButtonComponent, typeof i3.FusionAuthRegisterButtonComponent, typeof i4.FusionAuthAccountButtonComponent], never, [typeof i1.FusionAuthLoginButtonComponent, typeof i2.FusionAuthLogoutButtonComponent, typeof i3.FusionAuthRegisterButtonComponent, typeof i4.FusionAuthAccountButtonComponent]>;
|
|
12
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<FusionAuthModule>;
|
|
13
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { FusionAuthConfig, UserInfo } from './types';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Service class to use with FusionAuth backend endpoints.
|
|
6
|
-
*/
|
|
7
|
-
export declare class FusionAuthService<T = UserInfo> {
|
|
8
|
-
private core;
|
|
9
|
-
private autoRefreshTimer?;
|
|
10
|
-
private isLoggedInSubject;
|
|
11
|
-
constructor(config: FusionAuthConfig, platformId: Object);
|
|
12
|
-
/** An observable representing whether the user is logged in. */
|
|
13
|
-
isLoggedIn$: Observable<boolean>;
|
|
14
|
-
/** A function that returns whether the user is logged in. This returned value is non-observable. */
|
|
15
|
-
isLoggedIn(): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Refreshes the access token a single time.
|
|
18
|
-
* Automatic token refreshing can be enabled if the SDK is configured with `shouldAutoRefresh`.
|
|
19
|
-
*/
|
|
20
|
-
refreshToken(): Promise<Response>;
|
|
21
|
-
/**
|
|
22
|
-
* Initializes automatic access token refreshing.
|
|
23
|
-
* This is handled automatically if the SDK is configured with `shouldAutoRefresh`.
|
|
24
|
-
*/
|
|
25
|
-
initAutoRefresh(): void;
|
|
26
|
-
/**
|
|
27
|
-
* Returns an observable request that fetches userInfo, and catches error.
|
|
28
|
-
*/
|
|
29
|
-
getUserInfoObservable(callbacks?: {
|
|
30
|
-
onBegin?: () => void;
|
|
31
|
-
onDone?: () => void;
|
|
32
|
-
}): Observable<T>;
|
|
33
|
-
/**
|
|
34
|
-
* Fetches userInfo from the 'me' endpoint.
|
|
35
|
-
* @throws {Error} - if an error occurred while fetching.
|
|
36
|
-
*/
|
|
37
|
-
getUserInfo<T>(): Promise<T>;
|
|
38
|
-
/**
|
|
39
|
-
* Initiates login flow.
|
|
40
|
-
* @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.
|
|
41
|
-
*/
|
|
42
|
-
startLogin(state?: string): void;
|
|
43
|
-
/**
|
|
44
|
-
* Initiates register flow.
|
|
45
|
-
* @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.
|
|
46
|
-
*/
|
|
47
|
-
startRegistration(state?: string): void;
|
|
48
|
-
/**
|
|
49
|
-
* Initiates logout flow.
|
|
50
|
-
*/
|
|
51
|
-
logout(): void;
|
|
52
|
-
/**
|
|
53
|
-
* Redirects to [self service account management](https://fusionauth.io/docs/lifecycle/manage-users/account-management/)
|
|
54
|
-
* Self service account management is only available in FusionAuth paid plans.
|
|
55
|
-
*/
|
|
56
|
-
manageAccount(): void;
|
|
57
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthService<any>, never>;
|
|
58
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<FusionAuthService<any>>;
|
|
59
|
-
}
|
package/lib/injectionToken.d.ts
DELETED
package/lib/types.d.ts
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Config for FusionAuth Angular SDK
|
|
3
|
-
*/
|
|
4
|
-
export interface FusionAuthConfig {
|
|
5
|
-
/**
|
|
6
|
-
* The URL of the server that performs the token exchange.
|
|
7
|
-
*/
|
|
8
|
-
serverUrl: string;
|
|
9
|
-
/**
|
|
10
|
-
* The client id of the application.
|
|
11
|
-
*/
|
|
12
|
-
clientId: string;
|
|
13
|
-
/**
|
|
14
|
-
* The redirect URI of the application.
|
|
15
|
-
*/
|
|
16
|
-
redirectUri: string;
|
|
17
|
-
/**
|
|
18
|
-
* The redirect URI for post-logout. Defaults the provided `redirectUri`.
|
|
19
|
-
*/
|
|
20
|
-
postLogoutRedirectUri?: string;
|
|
21
|
-
/**
|
|
22
|
-
* The OAuth2 scope parameter passed to the `/oauth2/authorize` endpoint. If not specified fusionauth will default this to `openid offline_access`.
|
|
23
|
-
*/
|
|
24
|
-
scope?: string;
|
|
25
|
-
/**
|
|
26
|
-
* Enables automatic token refreshing. Defaults to false.
|
|
27
|
-
*/
|
|
28
|
-
shouldAutoRefresh?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* The number of seconds before the access token expiry when the auto refresh functionality kicks in if enabled. Default is 10.
|
|
31
|
-
*/
|
|
32
|
-
autoRefreshSecondsBeforeExpiry?: number;
|
|
33
|
-
/**
|
|
34
|
-
* Callback function to be invoked with the `state` value upon redirect from login or register.
|
|
35
|
-
*/
|
|
36
|
-
onRedirect?: (state?: string) => void;
|
|
37
|
-
/**
|
|
38
|
-
* Callback to be invoked if a request to refresh the access token fails during autorefresh.
|
|
39
|
-
*/
|
|
40
|
-
onAutoRefreshFailure?: (error: Error) => void;
|
|
41
|
-
/**
|
|
42
|
-
* The path to the login endpoint.
|
|
43
|
-
*/
|
|
44
|
-
loginPath?: string;
|
|
45
|
-
/**
|
|
46
|
-
* The path to the register endpoint.
|
|
47
|
-
*/
|
|
48
|
-
registerPath?: string;
|
|
49
|
-
/**
|
|
50
|
-
* The path to the logout endpoint.
|
|
51
|
-
*/
|
|
52
|
-
logoutPath?: string;
|
|
53
|
-
/**
|
|
54
|
-
* The path to the token refresh endpoint.
|
|
55
|
-
*/
|
|
56
|
-
tokenRefreshPath?: string;
|
|
57
|
-
/**
|
|
58
|
-
* The path to the me endpoint.
|
|
59
|
-
*/
|
|
60
|
-
mePath?: string;
|
|
61
|
-
}
|
|
62
|
-
export interface UserInfo {
|
|
63
|
-
applicationId?: string;
|
|
64
|
-
birthdate?: string;
|
|
65
|
-
email?: string;
|
|
66
|
-
email_verified?: boolean;
|
|
67
|
-
family_name?: string;
|
|
68
|
-
given_name?: string;
|
|
69
|
-
middle_name?: string;
|
|
70
|
-
name?: string;
|
|
71
|
-
phone_number?: string;
|
|
72
|
-
picture?: string;
|
|
73
|
-
preferred_username?: string;
|
|
74
|
-
roles?: any[];
|
|
75
|
-
sid?: string;
|
|
76
|
-
sub?: string;
|
|
77
|
-
tid?: string;
|
|
78
|
-
}
|
package/public-api.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './lib/fusion-auth.service';
|
|
2
|
-
export * from './lib/components/fusionauth-login.button/fusion-auth-login-button.component';
|
|
3
|
-
export * from './lib/components/fusionauth-logout.button/fusion-auth-logout-button.component';
|
|
4
|
-
export * from './lib/components/fusionauth-register.button/fusion-auth-register-button.component';
|
|
5
|
-
export * from './lib/components/fusionauth-account.button/fusion-auth-account-button.component';
|
|
6
|
-
export * from './lib/fusion-auth.module';
|
|
7
|
-
export * from './lib/types';
|
|
@@ -1,11 +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 declare function getAccessTokenExpirationMoment(cookieName?: string, adapter?: CookieAdapter): number | -1;
|
|
8
|
-
export interface CookieAdapter {
|
|
9
|
-
/** returns the `app.at_exp` cookie without manipulating the value. */
|
|
10
|
-
at_exp: (cookieName?: string) => number | string | undefined;
|
|
11
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './CookieHelpers';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/** A class responsible for storing a redirect value in localStorage and cleanup afterward. */
|
|
2
|
-
export declare class RedirectHelper {
|
|
3
|
-
private readonly REDIRECT_VALUE;
|
|
4
|
-
private get storage();
|
|
5
|
-
handlePreRedirect(state?: string): void;
|
|
6
|
-
handlePostRedirect(callback?: (state?: string) => void): void;
|
|
7
|
-
get didRedirect(): boolean;
|
|
8
|
-
private get stateValue();
|
|
9
|
-
private generateRandomString;
|
|
10
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './RedirectHelper';
|