@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.
Files changed (61) hide show
  1. package/README.md +7 -5
  2. package/fesm2022/fusionauth-angular-sdk.mjs +77 -41
  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 -110
  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 -5
  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
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvU0RLQ29yZS9TREtDb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxFLHdEQUF3RDtBQUN4RCxNQUFNLE9BQU8sT0FBTztJQU1sQixZQUFZLE1BQWlCO1FBSHJCLG1CQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFJNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM3QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7WUFDakMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDekMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLHFCQUFxQjtTQUNwRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWE7UUFDakIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzlELFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksS0FBSyxDQUNiLDJFQUEyRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsQ0FDdEcsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBTSxNQUFNLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLEVBQUU7WUFDaEUsTUFBTSxFQUFFLE1BQU07WUFDZCxXQUFXLEVBQUUsU0FBUztZQUN0QixPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLFlBQVk7YUFDN0I7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkQsTUFBTSxPQUFPLEdBQ1gsQ0FBQyxNQUFNLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDeEIsNkNBQTZDLENBQUM7WUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsc0VBQXNFO1FBQ3RFLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUUvQixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLG9CQUFvQixHQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLDhCQUE4QixJQUFJLEVBQUUsQ0FBQztRQUVuRCxNQUFNLHlCQUF5QixHQUFHLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUU5RCxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcseUJBQXlCLENBQUM7UUFDNUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXZELE9BQU8sVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzNCLElBQUksQ0FBQztnQkFDSCxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxLQUFjLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFtQztRQUNwRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELHlFQUF5RTtJQUN6RSxJQUFZLE1BQU07UUFDaEIsT0FBTyw4QkFBOEIsQ0FDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsRUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHVCQUF1QjtRQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFMUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBRXJELElBQUksMEJBQTBCLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFDN0IsMEJBQTBCLENBQzNCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXJsSGVscGVyIH0gZnJvbSAnLi4vVXJsSGVscGVyJztcbmltcG9ydCB7IFNES0NvbmZpZyB9IGZyb20gJy4uL1NES0NvbmZpZyc7XG5pbXBvcnQgeyBVc2VySW5mbyB9IGZyb20gJy4uL1NES0NvbnRleHQnO1xuaW1wb3J0IHsgUmVkaXJlY3RIZWxwZXIgfSBmcm9tICcuLi9SZWRpcmVjdEhlbHBlcic7XG5pbXBvcnQgeyBnZXRBY2Nlc3NUb2tlbkV4cGlyYXRpb25Nb21lbnQgfSBmcm9tICcuLi9Db29raWVIZWxwZXJzJztcblxuLyoqIEEgY2xhc3MgY29udGFpbmluZyBmcmFtZXdvcmstYWdub3N0aWMgU0RLIG1ldGhvZHMgKi9cbmV4cG9ydCBjbGFzcyBTREtDb3JlIHtcbiAgcHJpdmF0ZSBjb25maWc6IFNES0NvbmZpZztcbiAgcHJpdmF0ZSB1cmxIZWxwZXI6IFVybEhlbHBlcjtcbiAgcHJpdmF0ZSByZWRpcmVjdEhlbHBlcjogUmVkaXJlY3RIZWxwZXIgPSBuZXcgUmVkaXJlY3RIZWxwZXIoKTtcbiAgcHJpdmF0ZSB0b2tlbkV4cGlyYXRpb25UaW1lb3V0PzogTm9kZUpTLlRpbWVvdXQ7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBTREtDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLnVybEhlbHBlciA9IG5ldyBVcmxIZWxwZXIoe1xuICAgICAgc2VydmVyVXJsOiBjb25maWcuc2VydmVyVXJsLFxuICAgICAgY2xpZW50SWQ6IGNvbmZpZy5jbGllbnRJZCxcbiAgICAgIHJlZGlyZWN0VXJpOiBjb25maWcucmVkaXJlY3RVcmksXG4gICAgICBzY29wZTogY29uZmlnLnNjb3BlLFxuICAgICAgbWVQYXRoOiBjb25maWcubWVQYXRoLFxuICAgICAgbG9naW5QYXRoOiBjb25maWcubG9naW5QYXRoLFxuICAgICAgcmVnaXN0ZXJQYXRoOiBjb25maWcucmVnaXN0ZXJQYXRoLFxuICAgICAgbG9nb3V0UGF0aDogY29uZmlnLmxvZ291dFBhdGgsXG4gICAgICB0b2tlblJlZnJlc2hQYXRoOiBjb25maWcudG9rZW5SZWZyZXNoUGF0aCxcbiAgICAgIHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogY29uZmlnLnBvc3RMb2dvdXRSZWRpcmVjdFVyaSxcbiAgICB9KTtcbiAgICB0aGlzLnNjaGVkdWxlVG9rZW5FeHBpcmF0aW9uKCk7XG4gIH1cblxuICBzdGFydExvZ2luKHN0YXRlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5yZWRpcmVjdEhlbHBlci5oYW5kbGVQcmVSZWRpcmVjdChzdGF0ZSk7XG4gICAgd2luZG93LmxvY2F0aW9uLmFzc2lnbih0aGlzLnVybEhlbHBlci5nZXRMb2dpblVybChzdGF0ZSkpO1xuICB9XG5cbiAgc3RhcnRSZWdpc3RlcihzdGF0ZT86IHN0cmluZykge1xuICAgIHRoaXMucmVkaXJlY3RIZWxwZXIuaGFuZGxlUHJlUmVkaXJlY3Qoc3RhdGUpO1xuICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24odGhpcy51cmxIZWxwZXIuZ2V0UmVnaXN0ZXJVcmwoc3RhdGUpKTtcbiAgfVxuXG4gIHN0YXJ0TG9nb3V0KCkge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24odGhpcy51cmxIZWxwZXIuZ2V0TG9nb3V0VXJsKCkpO1xuICB9XG5cbiAgbWFuYWdlQWNjb3VudCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKHRoaXMudXJsSGVscGVyLmdldEFjY291bnRNYW5hZ2VtZW50VXJsKCkpO1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hVc2VySW5mbzxUID0gVXNlckluZm8+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,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@fusionauth/angular-sdk" />
5
- export * from './public-api';
@@ -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
- }
@@ -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
- }
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { FusionAuthConfig } from './types';
3
- export declare const FUSIONAUTH_SERVICE_CONFIG: InjectionToken<FusionAuthConfig>;
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';