@asgardeo/auth-spa 0.2.19 → 0.2.22

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 (116) hide show
  1. package/.eslintrc.js +1 -2
  2. package/README.md +53 -24
  3. package/babel.config.js +1 -2
  4. package/dist/asgardeo-spa.production.esm.js +105 -44
  5. package/dist/asgardeo-spa.production.esm.js.map +1 -1
  6. package/dist/asgardeo-spa.production.js +106 -45
  7. package/dist/asgardeo-spa.production.js.map +1 -1
  8. package/dist/asgardeo-spa.production.min.js +1 -1
  9. package/dist/asgardeo-spa.production.min.js.map +1 -1
  10. package/dist/polyfilled/asgardeo-spa.production.esm.js +103 -42
  11. package/dist/polyfilled/asgardeo-spa.production.esm.js.map +1 -1
  12. package/dist/polyfilled/asgardeo-spa.production.js +103 -42
  13. package/dist/polyfilled/asgardeo-spa.production.js.map +1 -1
  14. package/dist/polyfilled/asgardeo-spa.production.min.js +1 -1
  15. package/dist/polyfilled/asgardeo-spa.production.min.js.map +1 -1
  16. package/dist/src/client.d.ts +10 -6
  17. package/dist/src/client.d.ts.map +1 -1
  18. package/dist/src/client.js +26 -14
  19. package/dist/src/client.js.map +1 -1
  20. package/dist/src/clients/main-thread-client.d.ts.map +1 -1
  21. package/dist/src/clients/main-thread-client.js +61 -48
  22. package/dist/src/clients/main-thread-client.js.map +1 -1
  23. package/dist/src/clients/web-worker-client.d.ts +1 -1
  24. package/dist/src/clients/web-worker-client.d.ts.map +1 -1
  25. package/dist/src/clients/web-worker-client.js +51 -32
  26. package/dist/src/clients/web-worker-client.js.map +1 -1
  27. package/dist/src/{exception/exception.d.ts → constants/errors.d.ts} +3 -11
  28. package/dist/src/constants/errors.d.ts.map +1 -0
  29. package/dist/src/{exception/exception.js → constants/errors.js} +3 -14
  30. package/dist/src/constants/errors.js.map +1 -0
  31. package/dist/src/constants/hooks.d.ts +2 -1
  32. package/dist/src/constants/hooks.d.ts.map +1 -1
  33. package/dist/src/constants/hooks.js +1 -0
  34. package/dist/src/constants/hooks.js.map +1 -1
  35. package/dist/src/constants/index.d.ts +1 -0
  36. package/dist/src/constants/index.d.ts.map +1 -1
  37. package/dist/src/constants/index.js +1 -0
  38. package/dist/src/constants/index.js.map +1 -1
  39. package/dist/src/constants/parameters.d.ts +1 -0
  40. package/dist/src/constants/parameters.d.ts.map +1 -1
  41. package/dist/src/constants/parameters.js +1 -0
  42. package/dist/src/constants/parameters.js.map +1 -1
  43. package/dist/src/helpers/session-management-helper.d.ts +1 -1
  44. package/dist/src/helpers/session-management-helper.d.ts.map +1 -1
  45. package/dist/src/helpers/session-management-helper.js +33 -43
  46. package/dist/src/helpers/session-management-helper.js.map +1 -1
  47. package/dist/src/index-polyfill.d.ts +0 -1
  48. package/dist/src/index-polyfill.d.ts.map +1 -1
  49. package/dist/src/index-polyfill.js +0 -1
  50. package/dist/src/index-polyfill.js.map +1 -1
  51. package/dist/src/models/client.d.ts +4 -4
  52. package/dist/src/models/client.d.ts.map +1 -1
  53. package/dist/src/models/http-client.d.ts +1 -1
  54. package/dist/src/models/http-client.d.ts.map +1 -1
  55. package/dist/src/models/index.d.ts +1 -0
  56. package/dist/src/models/index.d.ts.map +1 -1
  57. package/dist/src/models/index.js +1 -0
  58. package/dist/src/models/index.js.map +1 -1
  59. package/dist/src/models/message.d.ts +1 -0
  60. package/dist/src/models/message.d.ts.map +1 -1
  61. package/dist/src/models/session-management-helper.d.ts +2 -1
  62. package/dist/src/models/session-management-helper.d.ts.map +1 -1
  63. package/dist/src/{exception/index.js → models/sign-out-error.d.ts} +6 -3
  64. package/dist/src/models/sign-out-error.d.ts.map +1 -0
  65. package/{src/exception/index.ts → dist/src/models/sign-out-error.js} +3 -3
  66. package/dist/src/models/sign-out-error.js.map +1 -0
  67. package/dist/src/models/web-worker.d.ts +3 -3
  68. package/dist/src/models/web-worker.d.ts.map +1 -1
  69. package/dist/src/models/web-worker.js.map +1 -1
  70. package/dist/src/public-api.d.ts +1 -1
  71. package/dist/src/public-api.d.ts.map +1 -1
  72. package/dist/src/public-api.js +1 -1
  73. package/dist/src/public-api.js.map +1 -1
  74. package/dist/src/utils/crypto-utils.d.ts +33 -0
  75. package/dist/src/utils/crypto-utils.d.ts.map +1 -0
  76. package/dist/src/utils/crypto-utils.js +55 -0
  77. package/dist/src/utils/crypto-utils.js.map +1 -0
  78. package/dist/src/utils/spa-utils.d.ts +5 -3
  79. package/dist/src/utils/spa-utils.d.ts.map +1 -1
  80. package/dist/src/utils/spa-utils.js +26 -10
  81. package/dist/src/utils/spa-utils.js.map +1 -1
  82. package/dist/src/worker/client.worker.d.ts.map +1 -1
  83. package/dist/src/worker/client.worker.js +5 -5
  84. package/dist/src/worker/client.worker.js.map +1 -1
  85. package/dist/src/worker/worker-core.d.ts.map +1 -1
  86. package/dist/src/worker/worker-core.js +57 -49
  87. package/dist/src/worker/worker-core.js.map +1 -1
  88. package/dist/tsconfig.tsbuildinfo +1 -1
  89. package/package.json +31 -30
  90. package/rollup.config.js +3 -5
  91. package/src/client.ts +45 -50
  92. package/src/clients/main-thread-client.ts +96 -89
  93. package/src/clients/web-worker-client.ts +73 -48
  94. package/src/constants/errors.ts +19 -0
  95. package/src/constants/hooks.ts +2 -1
  96. package/src/constants/index.ts +1 -0
  97. package/src/constants/parameters.ts +1 -0
  98. package/src/helpers/session-management-helper.ts +31 -40
  99. package/src/index-polyfill.ts +0 -1
  100. package/src/models/client.ts +5 -5
  101. package/src/models/http-client.ts +3 -2
  102. package/src/models/index.ts +1 -0
  103. package/src/models/message.ts +1 -0
  104. package/src/models/session-management-helper.ts +3 -2
  105. package/{dist/src/exception/index.d.ts → src/models/sign-out-error.ts} +6 -3
  106. package/src/models/web-worker.ts +8 -2
  107. package/src/public-api.ts +2 -1
  108. package/src/utils/crypto-utils.ts +74 -0
  109. package/src/utils/spa-utils.ts +33 -10
  110. package/src/worker/client.worker.ts +6 -11
  111. package/src/worker/worker-core.ts +98 -101
  112. package/dist/src/exception/exception.d.ts.map +0 -1
  113. package/dist/src/exception/exception.js.map +0 -1
  114. package/dist/src/exception/index.d.ts.map +0 -1
  115. package/dist/src/exception/index.js.map +0 -1
  116. package/src/exception/exception.ts +0 -44
@@ -15,7 +15,7 @@
15
15
  * specific language governing permissions and limitations
16
16
  * under the License.
17
17
  */
18
- import { AuthClientConfig, BasicUserInfo, CustomGrantConfig, DecodedIDTokenPayload, OIDCEndpoints } from "@asgardeo/auth-js";
18
+ import { AuthClientConfig, BasicUserInfo, CustomGrantConfig, DecodedIDTokenPayload, FetchResponse, OIDCEndpoints } from "@asgardeo/auth-js";
19
19
  import { Hooks } from "./constants";
20
20
  import { HttpClientInstance } from "./http-client";
21
21
  import { AuthSPAClientConfig, Config, HttpRequestConfig, HttpResponse, SignInConfig } from "./models";
@@ -33,6 +33,7 @@ export declare class AsgardeoSPAClient {
33
33
  private _startedInitialize;
34
34
  private _onSignInCallback;
35
35
  private _onSignOutCallback;
36
+ private _onSignOutFailedCallback;
36
37
  private _onEndUserSession;
37
38
  private _onInitialize;
38
39
  private _onCustomGrant;
@@ -88,7 +89,7 @@ export declare class AsgardeoSPAClient {
88
89
  * auth.initialize({
89
90
  * signInRedirectURL: "http://localhost:3000/sign-in",
90
91
  * clientID: "client ID",
91
- * serverOrigin: "https://api.asgardeo.io"
92
+ * baseUrl: "https://api.asgardeo.io"
92
93
  * });
93
94
  * ```
94
95
  *
@@ -139,6 +140,9 @@ export declare class AsgardeoSPAClient {
139
140
  * 2. forceInit: Specifies if the OIDC Provider Meta Data should be loaded again from the `well-known`
140
141
  * endpoint.
141
142
  * 3. Any other parameters that should be appended to the authorization request.
143
+ * @param {string} authorizationCode - The authorization code. (Optional)
144
+ * @param {string} sessionState - The session state. (Optional)
145
+ * @param {string} state - The state. (Optional)
142
146
  *
143
147
  * @return {Promise<BasicUserInfo>} - A promise that resolves with the user information.
144
148
  *
@@ -153,7 +157,7 @@ export declare class AsgardeoSPAClient {
153
157
  *
154
158
  * @preserve
155
159
  */
156
- signIn(config?: SignInConfig, authorizationCode?: string, sessionState?: string): Promise<BasicUserInfo | undefined>;
160
+ signIn(config?: SignInConfig, authorizationCode?: string, sessionState?: string, state?: string): Promise<BasicUserInfo | undefined>;
157
161
  /**
158
162
  * This method allows you to sign in silently.
159
163
  * First, this method sends a prompt none request to see if there is an active user session in the identity server.
@@ -309,7 +313,7 @@ export declare class AsgardeoSPAClient {
309
313
  *
310
314
  * @preserve
311
315
  */
312
- requestCustomGrant(config: CustomGrantConfig): Promise<HttpResponse<any> | BasicUserInfo | undefined>;
316
+ requestCustomGrant(config: CustomGrantConfig): Promise<FetchResponse<any> | BasicUserInfo | undefined>;
313
317
  /**
314
318
  * This method ends a user session. The access token is revoked and the session information is destroyed.
315
319
  *
@@ -476,7 +480,7 @@ export declare class AsgardeoSPAClient {
476
480
  * @preserve
477
481
  */
478
482
  on(hook: Hooks.CustomGrant, callback: (response?: any) => void, id: string): Promise<void>;
479
- on(hook: Hooks.RevokeAccessToken | Hooks.HttpRequestError | Hooks.HttpRequestFinish | Hooks.HttpRequestStart | Hooks.HttpRequestSuccess | Hooks.Initialize | Hooks.SignIn | Hooks.SignOut, callback: (response?: any) => void): Promise<void>;
483
+ on(hook: Exclude<Hooks, Hooks.CustomGrant>, callback: (response?: any) => void): Promise<void>;
480
484
  /**
481
485
  * This method enables callback functions attached to the http client.
482
486
  *
@@ -521,7 +525,7 @@ export declare class AsgardeoSPAClient {
521
525
  * const config = {
522
526
  * signInRedirectURL: "http://localhost:3000/sign-in",
523
527
  * clientID: "client ID",
524
- * serverOrigin: "https://api.asgardeo.io"
528
+ * baseUrl: "https://api.asgardeo.io"
525
529
  * }
526
530
  * const auth.updateConfig(config);
527
531
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
24
24
  step((generator = generator.apply(thisArg, _arguments || [])).next());
25
25
  });
26
26
  };
27
+ import { AsgardeoAuthException } from "@asgardeo/auth-js";
27
28
  import { MainThreadClient, WebWorkerClient } from "./clients";
28
29
  import { Hooks, Storage } from "./constants";
29
- import { AsgardeoSPAException } from "./exception";
30
30
  import { SPAUtils } from "./utils";
31
31
  /**
32
32
  * Default configurations.
@@ -52,6 +52,7 @@ export class AsgardeoSPAClient {
52
52
  this._startedInitialize = false;
53
53
  this._onSignInCallback = () => null;
54
54
  this._onSignOutCallback = () => null;
55
+ this._onSignOutFailedCallback = () => null;
55
56
  this._onEndUserSession = () => null;
56
57
  this._onInitialize = () => null;
57
58
  this._onCustomGrant = new Map();
@@ -73,10 +74,10 @@ export class AsgardeoSPAClient {
73
74
  }
74
75
  let iterationToWait = 0;
75
76
  const sleep = () => {
76
- return new Promise((resolve) => setTimeout(resolve, 1000));
77
+ return new Promise((resolve) => setTimeout(resolve, 1));
77
78
  };
78
79
  while (!this._initialized) {
79
- if (iterationToWait === 10) {
80
+ if (iterationToWait === 1e4) {
80
81
  // eslint-disable-next-line no-console
81
82
  console.warn("It is taking longer than usual for the object to be initialized");
82
83
  }
@@ -150,7 +151,7 @@ export class AsgardeoSPAClient {
150
151
  * auth.initialize({
151
152
  * signInRedirectURL: "http://localhost:3000/sign-in",
152
153
  * clientID: "client ID",
153
- * serverOrigin: "https://api.asgardeo.io"
154
+ * baseUrl: "https://api.asgardeo.io"
154
155
  * });
155
156
  * ```
156
157
  *
@@ -181,7 +182,7 @@ export class AsgardeoSPAClient {
181
182
  else {
182
183
  if (!this._client) {
183
184
  const webWorkerClientConfig = config;
184
- this._client = WebWorkerClient(Object.assign(Object.assign({}, DefaultConfig), webWorkerClientConfig));
185
+ this._client = (yield WebWorkerClient(Object.assign(Object.assign({}, DefaultConfig), webWorkerClientConfig)));
185
186
  return this._client
186
187
  .initialize()
187
188
  .then(() => {
@@ -245,6 +246,9 @@ export class AsgardeoSPAClient {
245
246
  * 2. forceInit: Specifies if the OIDC Provider Meta Data should be loaded again from the `well-known`
246
247
  * endpoint.
247
248
  * 3. Any other parameters that should be appended to the authorization request.
249
+ * @param {string} authorizationCode - The authorization code. (Optional)
250
+ * @param {string} sessionState - The session state. (Optional)
251
+ * @param {string} state - The state. (Optional)
248
252
  *
249
253
  * @return {Promise<BasicUserInfo>} - A promise that resolves with the user information.
250
254
  *
@@ -259,7 +263,7 @@ export class AsgardeoSPAClient {
259
263
  *
260
264
  * @preserve
261
265
  */
262
- signIn(config, authorizationCode, sessionState) {
266
+ signIn(config, authorizationCode, sessionState, state) {
263
267
  var _a;
264
268
  return __awaiter(this, void 0, void 0, function* () {
265
269
  yield this._isInitialized();
@@ -269,7 +273,7 @@ export class AsgardeoSPAClient {
269
273
  return;
270
274
  }
271
275
  config === null || config === void 0 ? true : delete config.callOnlyOnRedirect;
272
- return (_a = this._client) === null || _a === void 0 ? void 0 : _a.signIn(config, authorizationCode, sessionState).then((response) => {
276
+ return (_a = this._client) === null || _a === void 0 ? void 0 : _a.signIn(config, authorizationCode, sessionState, state).then((response) => {
273
277
  if (this._onSignInCallback) {
274
278
  if (response.allowedScopes || response.displayName || response.email || response.username) {
275
279
  this._onSignInCallback(response);
@@ -484,7 +488,7 @@ export class AsgardeoSPAClient {
484
488
  yield this._validateMethod();
485
489
  }
486
490
  if (!config.id) {
487
- return Promise.reject(new AsgardeoSPAException("AUTH_CLIENT-RCG-NF01", "client", "requestCustomGrant", "The custom grant request id not found.", "The id attribute of the custom grant config object passed as an argument should have a value."));
491
+ return Promise.reject(new AsgardeoAuthException("SPA-AUTH_CLIENT-RCG-NF01", "The custom grant request id not found.", "The id attribute of the custom grant config object passed as an argument should have a value."));
488
492
  }
489
493
  const customGrantResponse = yield ((_a = this._client) === null || _a === void 0 ? void 0 : _a.requestCustomGrant(config));
490
494
  const customGrantCallback = this._onCustomGrant.get(config.id);
@@ -563,9 +567,9 @@ export class AsgardeoSPAClient {
563
567
  const mainThreadClient = this._client;
564
568
  return mainThreadClient.getHttpClient();
565
569
  }
566
- throw new AsgardeoSPAException("AUTH_CLIENT-GHC-IV01", "client", "getHttpClient", "Http client cannot be returned.", "The http client cannot be returned when the storage type is set to webWorker.");
570
+ throw new AsgardeoAuthException("SPA-AUTH_CLIENT-GHC-IV01", "Http client cannot be returned.", "The http client cannot be returned when the storage type is set to webWorker.");
567
571
  }
568
- throw new AsgardeoSPAException("AUTH_CLIENT-GHC-NF02", "client", "getHttpClient", "The SDK is not initialized.", "The SDK has not been initialized yet. Initialize the SDK suing the initialize method " +
572
+ throw new AsgardeoAuthException("SPA-AUTH_CLIENT-GHC-NF02", "The SDK is not initialized.", "The SDK has not been initialized yet. Initialize the SDK using the initialize method " +
569
573
  "before calling this method.");
570
574
  }
571
575
  /**
@@ -644,7 +648,7 @@ export class AsgardeoSPAClient {
644
648
  return __awaiter(this, void 0, void 0, function* () {
645
649
  yield this._validateMethod();
646
650
  if (this._storage && [(Storage.WebWorker, Storage.BrowserMemory)].includes(this._storage)) {
647
- return Promise.reject(new AsgardeoSPAException("AUTH_CLIENT-GAT-IV01", "client", "getAccessToken", "The access token cannot be returned.", "The access token cannot be returned when the storage type is set to webWorker or browserMemory."));
651
+ return Promise.reject(new AsgardeoAuthException("SPA-AUTH_CLIENT-GAT-IV01", "The access token cannot be returned.", "The access token cannot be returned when the storage type is set to webWorker or browserMemory."));
648
652
  }
649
653
  const mainThreadClient = this._client;
650
654
  return mainThreadClient.getAccessToken();
@@ -730,12 +734,20 @@ export class AsgardeoSPAClient {
730
734
  case Hooks.CustomGrant:
731
735
  id && this._onCustomGrant.set(id, callback);
732
736
  break;
737
+ case Hooks.SignOutFailed: {
738
+ this._onSignOutFailedCallback = callback;
739
+ const signOutFail = SPAUtils.didSignOutFail();
740
+ if (signOutFail) {
741
+ this._onSignOutFailedCallback(signOutFail);
742
+ }
743
+ break;
744
+ }
733
745
  default:
734
- throw new AsgardeoSPAException("AUTH_CLIENT-ON-IV01", "client", "on", "Invalid hook.", "The provided hook is invalid.");
746
+ throw new AsgardeoAuthException("SPA-AUTH_CLIENT-ON-IV01", "Invalid hook.", "The provided hook is invalid.");
735
747
  }
736
748
  }
737
749
  else {
738
- throw new AsgardeoSPAException("AUTH_CLIENT-ON-IV02", "client", "on", "Invalid callback function.", "The provided callback function is invalid.");
750
+ throw new AsgardeoAuthException("SPA-AUTH_CLIENT-ON-IV02", "Invalid callback function.", "The provided callback function is invalid.");
739
751
  }
740
752
  });
741
753
  }
@@ -795,7 +807,7 @@ export class AsgardeoSPAClient {
795
807
  * const config = {
796
808
  * signInRedirectURL: "http://localhost:3000/sign-in",
797
809
  * clientID: "client ID",
798
- * serverOrigin: "https://api.asgardeo.io"
810
+ * baseUrl: "https://api.asgardeo.io"
799
811
  * }
800
812
  * const auth.updateConfig(config);
801
813
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main-thread-client.d.ts","sourceRoot":"","sources":["../../../src/clients/main-thread-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAGH,gBAAgB,EAUnB,MAAM,mBAAmB,CAAC;AAe3B,OAAO,EAKH,sBAAsB,EACtB,yBAAyB,EAE5B,MAAM,WAAW,CAAC;AAkBnB,eAAO,MAAM,gBAAgB,WACjB,iBAAiB,sBAAsB,CAAC,KACjD,QAAQ,yBAAyB,CA2qBnC,CAAC"}
1
+ {"version":3,"file":"main-thread-client.d.ts","sourceRoot":"","sources":["../../../src/clients/main-thread-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAIH,gBAAgB,EAanB,MAAM,mBAAmB,CAAC;AAe3B,OAAO,EAKH,sBAAsB,EACtB,yBAAyB,EAE5B,MAAM,WAAW,CAAC;AAmBnB,eAAO,MAAM,gBAAgB,WACjB,iBAAiB,sBAAsB,CAAC,KACjD,QAAQ,yBAAyB,CA6qBnC,CAAC"}
@@ -24,13 +24,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
24
24
  step((generator = generator.apply(thisArg, _arguments || [])).next());
25
25
  });
26
26
  };
27
- import { AUTHORIZATION_CODE, AsgardeoAuthClient, ResponseMode, SESSION_STATE } from "@asgardeo/auth-js";
28
- import { CHECK_SESSION_SIGNED_IN, CHECK_SESSION_SIGNED_OUT, CUSTOM_GRANT_CONFIG, ERROR, ERROR_DESCRIPTION, PROMPT_NONE_IFRAME, RP_IFRAME, SILENT_SIGN_IN_STATE, Storage } from "../constants";
29
- import { AsgardeoSPAException } from "../exception";
27
+ import { AUTHORIZATION_CODE, AsgardeoAuthClient, AsgardeoAuthException, AuthenticationUtils, ResponseMode, SESSION_STATE, STATE } from "@asgardeo/auth-js";
28
+ import { ACCESS_TOKEN_INVALID, CHECK_SESSION_SIGNED_IN, CHECK_SESSION_SIGNED_OUT, CUSTOM_GRANT_CONFIG, ERROR, ERROR_DESCRIPTION, PROMPT_NONE_IFRAME, RP_IFRAME, SILENT_SIGN_IN_STATE, Storage } from "../constants";
30
29
  import { SPAHelper, SessionManagementHelper } from "../helpers";
31
30
  import { HttpClient } from "../http-client";
32
31
  import { LocalStore, MemoryStore, SessionStore } from "../stores";
33
32
  import { SPAUtils } from "../utils";
33
+ import { SPACryptoUtils } from "../utils/crypto-utils";
34
34
  const initiateStore = (store) => {
35
35
  switch (store) {
36
36
  case Storage.LocalStorage:
@@ -46,11 +46,12 @@ const initiateStore = (store) => {
46
46
  export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, function* () {
47
47
  var _a;
48
48
  const _store = initiateStore(config.storage);
49
- const _authenticationClient = new AsgardeoAuthClient(_store);
49
+ const _cryptoUtils = new SPACryptoUtils();
50
+ const _authenticationClient = new AsgardeoAuthClient(_store, _cryptoUtils);
50
51
  yield _authenticationClient.initialize(config);
51
52
  const _spaHelper = new SPAHelper(_authenticationClient);
52
53
  const _dataLayer = _authenticationClient.getDataLayer();
53
- const _sessionManagementHelper = SessionManagementHelper(() => __awaiter(void 0, void 0, void 0, function* () {
54
+ const _sessionManagementHelper = yield SessionManagementHelper(() => __awaiter(void 0, void 0, void 0, function* () {
54
55
  return _authenticationClient.signOut();
55
56
  }), (_a = config.storage) !== null && _a !== void 0 ? _a : Storage.SessionStorage, (sessionState) => _dataLayer.setSessionDataParameter(SESSION_STATE, sessionState !== null && sessionState !== void 0 ? sessionState : ""));
56
57
  let _getSignOutURLFromSessionStorage = false;
@@ -82,8 +83,9 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
82
83
  var _b, _c;
83
84
  let matches = false;
84
85
  const config = yield _dataLayer.getConfigData();
85
- for (const baseUrl of [...((_b = (yield (config === null || config === void 0 ? void 0 : config.resourceServerURLs))) !== null && _b !== void 0 ? _b : []), config === null || config === void 0 ? void 0 : config.serverOrigin]) {
86
- if ((_c = requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.url) === null || _c === void 0 ? void 0 : _c.startsWith(baseUrl)) {
86
+ const serverOrigin = config.baseUrl || config.serverOrigin;
87
+ for (const baseUrl of [...((_b = (yield (config === null || config === void 0 ? void 0 : config.resourceServerURLs))) !== null && _b !== void 0 ? _b : []), serverOrigin]) {
88
+ if (baseUrl && ((_c = requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.url) === null || _c === void 0 ? void 0 : _c.startsWith(baseUrl))) {
87
89
  matches = true;
88
90
  break;
89
91
  }
@@ -95,7 +97,7 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
95
97
  return Promise.resolve(response);
96
98
  })
97
99
  .catch((error) => __awaiter(void 0, void 0, void 0, function* () {
98
- var _d;
100
+ var _d, _e, _f;
99
101
  if (((_d = error === null || error === void 0 ? void 0 : error.response) === null || _d === void 0 ? void 0 : _d.status) === 401 || !(error === null || error === void 0 ? void 0 : error.response)) {
100
102
  // Try to refresh the token
101
103
  let refreshTokenResponse;
@@ -105,13 +107,14 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
105
107
  catch (refreshError) {
106
108
  if (_isHttpHandlerEnabled) {
107
109
  if (typeof _httpErrorCallback === "function") {
108
- yield _httpErrorCallback(error);
110
+ yield _httpErrorCallback(Object.assign(Object.assign({}, error), { code: ACCESS_TOKEN_INVALID }));
109
111
  }
110
112
  if (typeof _httpFinishCallback === "function") {
111
113
  _httpFinishCallback();
112
114
  }
113
115
  }
114
- return Promise.reject(new AsgardeoSPAException("MAIN_THREAD_CLIENT-HR-ES01", "main-thread-client", "httpRequest", "", "", refreshError));
116
+ throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HR-SE01", (_e = refreshError === null || refreshError === void 0 ? void 0 : refreshError.name) !== null && _e !== void 0 ? _e : "Refresh token request failed.", (_f = refreshError === null || refreshError === void 0 ? void 0 : refreshError.message) !== null && _f !== void 0 ? _f : "An error occurred while trying to refresh the " +
117
+ "access token following a 401 response from the server.");
115
118
  }
116
119
  // Retry the request after refreshing the token
117
120
  if (refreshTokenResponse) {
@@ -144,19 +147,23 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
144
147
  }));
145
148
  }
146
149
  else {
147
- return Promise.reject(new AsgardeoSPAException("MAIN_THREAD_CLIENT-HR-IV02", "main-thread-client", "httpRequest", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
150
+ throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HR-IV02", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
148
151
  " attribute while initializing the SDK. The specified endpoint in this request " +
149
- "cannot be found among the `resourceServerURLs`"));
152
+ "cannot be found among the `resourceServerURLs`");
150
153
  }
151
154
  });
152
155
  const httpRequestAll = (requestConfigs) => __awaiter(void 0, void 0, void 0, function* () {
153
- var _e, _f, _g;
156
+ var _g, _h, _j;
154
157
  let matches = true;
155
158
  const config = yield _dataLayer.getConfigData();
159
+ const serverOrigin = config.baseUrl || config.serverOrigin;
156
160
  for (const requestConfig of requestConfigs) {
157
161
  let urlMatches = false;
158
- for (const baseUrl of [...((_f = (_e = (yield config)) === null || _e === void 0 ? void 0 : _e.resourceServerURLs) !== null && _f !== void 0 ? _f : []), config === null || config === void 0 ? void 0 : config.serverOrigin]) {
159
- if ((_g = requestConfig.url) === null || _g === void 0 ? void 0 : _g.startsWith(baseUrl)) {
162
+ for (const baseUrl of [
163
+ ...((_h = (_g = (yield config)) === null || _g === void 0 ? void 0 : _g.resourceServerURLs) !== null && _h !== void 0 ? _h : []),
164
+ serverOrigin
165
+ ]) {
166
+ if (baseUrl && ((_j = requestConfig.url) === null || _j === void 0 ? void 0 : _j.startsWith(baseUrl))) {
160
167
  urlMatches = true;
161
168
  break;
162
169
  }
@@ -178,8 +185,8 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
178
185
  return Promise.resolve(responses);
179
186
  })
180
187
  .catch((error) => __awaiter(void 0, void 0, void 0, function* () {
181
- var _h;
182
- if (((_h = error === null || error === void 0 ? void 0 : error.response) === null || _h === void 0 ? void 0 : _h.status) === 401 || !(error === null || error === void 0 ? void 0 : error.response)) {
188
+ var _k, _l, _m;
189
+ if (((_k = error === null || error === void 0 ? void 0 : error.response) === null || _k === void 0 ? void 0 : _k.status) === 401 || !(error === null || error === void 0 ? void 0 : error.response)) {
183
190
  let refreshTokenResponse;
184
191
  try {
185
192
  refreshTokenResponse = yield _authenticationClient.refreshAccessToken();
@@ -187,16 +194,17 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
187
194
  catch (refreshError) {
188
195
  if (_isHttpHandlerEnabled) {
189
196
  if (typeof _httpErrorCallback === "function") {
190
- yield _httpErrorCallback(error);
197
+ yield _httpErrorCallback(Object.assign(Object.assign({}, error), { code: ACCESS_TOKEN_INVALID }));
191
198
  }
192
199
  if (typeof _httpFinishCallback === "function") {
193
200
  _httpFinishCallback();
194
201
  }
195
202
  }
196
- return Promise.reject(new AsgardeoSPAException("MAIN_THREAD_CLIENT-HRA-ES01", "main-thread-client", "httpRequestAll", "", "", refreshError));
203
+ throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HRA-SE01", (_l = refreshError === null || refreshError === void 0 ? void 0 : refreshError.name) !== null && _l !== void 0 ? _l : "Refresh token request failed.", (_m = refreshError === null || refreshError === void 0 ? void 0 : refreshError.message) !== null && _m !== void 0 ? _m : "An error occurred while trying to refresh the " +
204
+ "access token following a 401 response from the server.");
197
205
  }
198
206
  if (refreshTokenResponse) {
199
- return _httpClient.all &&
207
+ return (_httpClient.all &&
200
208
  _httpClient
201
209
  .all(requests)
202
210
  .then((response) => {
@@ -212,7 +220,7 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
212
220
  }
213
221
  }
214
222
  return Promise.reject(error);
215
- }));
223
+ })));
216
224
  }
217
225
  }
218
226
  if (_isHttpHandlerEnabled) {
@@ -227,9 +235,9 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
227
235
  })));
228
236
  }
229
237
  else {
230
- return Promise.reject(new AsgardeoSPAException("MAIN_THREAD_CLIENT-HRA-IV02", "main-thread-client", "httpRequest", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
238
+ throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HRA-IV02", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
231
239
  " attribute while initializing the SDK. The specified endpoint in this request " +
232
- "cannot be found among the `resourceServerURLs`"));
240
+ "cannot be found among the `resourceServerURLs`");
233
241
  }
234
242
  });
235
243
  const getHttpClient = () => {
@@ -246,13 +254,13 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
246
254
  return true;
247
255
  };
248
256
  const checkSession = () => __awaiter(void 0, void 0, void 0, function* () {
249
- var _j, _k, _l, _m;
257
+ var _o, _p, _q;
250
258
  const oidcEndpoints = yield _authenticationClient.getOIDCServiceEndpoints();
251
259
  const config = yield _dataLayer.getConfigData();
252
- _sessionManagementHelper.initialize(config.clientID, (_j = oidcEndpoints.checkSessionIframe) !== null && _j !== void 0 ? _j : "", () => __awaiter(void 0, void 0, void 0, function* () { return (yield _authenticationClient.getBasicUserInfo()).sessionState; }), (_k = config.checkSessionInterval) !== null && _k !== void 0 ? _k : 3, (_l = config.sessionRefreshInterval) !== null && _l !== void 0 ? _l : 300, config.signInRedirectURL, (_m = oidcEndpoints.authorizationEndpoint) !== null && _m !== void 0 ? _m : "", config.enablePKCE);
260
+ _sessionManagementHelper.initialize(config.clientID, (_o = oidcEndpoints.checkSessionIframe) !== null && _o !== void 0 ? _o : "", () => __awaiter(void 0, void 0, void 0, function* () { return (yield _authenticationClient.getBasicUserInfo()).sessionState; }), (_p = config.checkSessionInterval) !== null && _p !== void 0 ? _p : 3, (_q = config.sessionRefreshInterval) !== null && _q !== void 0 ? _q : 300, config.signInRedirectURL, (params) => __awaiter(void 0, void 0, void 0, function* () { return _authenticationClient.getAuthorizationURL(params); }));
253
261
  });
254
- const signIn = (signInConfig, authorizationCode, sessionState) => __awaiter(void 0, void 0, void 0, function* () {
255
- var _o, _p;
262
+ const signIn = (signInConfig, authorizationCode, sessionState, state) => __awaiter(void 0, void 0, void 0, function* () {
263
+ var _r, _s, _t;
256
264
  const config = yield _dataLayer.getConfigData();
257
265
  const shouldStopContinue = yield _sessionManagementHelper.receivePromptNoneResponse((sessionState) => __awaiter(void 0, void 0, void 0, function* () {
258
266
  yield _dataLayer.setSessionDataParameter(SESSION_STATE, sessionState !== null && sessionState !== void 0 ? sessionState : "");
@@ -280,17 +288,20 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
280
288
  }
281
289
  let resolvedAuthorizationCode;
282
290
  let resolvedSessionState;
291
+ let resolvedState;
283
292
  if ((config === null || config === void 0 ? void 0 : config.responseMode) === ResponseMode.formPost && authorizationCode) {
284
293
  resolvedAuthorizationCode = authorizationCode;
285
294
  resolvedSessionState = sessionState !== null && sessionState !== void 0 ? sessionState : "";
295
+ resolvedState = state !== null && state !== void 0 ? state : "";
286
296
  }
287
297
  else {
288
- resolvedAuthorizationCode = (_o = new URL(window.location.href).searchParams.get(AUTHORIZATION_CODE)) !== null && _o !== void 0 ? _o : "";
289
- resolvedSessionState = (_p = new URL(window.location.href).searchParams.get(SESSION_STATE)) !== null && _p !== void 0 ? _p : "";
298
+ resolvedAuthorizationCode = (_r = new URL(window.location.href).searchParams.get(AUTHORIZATION_CODE)) !== null && _r !== void 0 ? _r : "";
299
+ resolvedSessionState = (_s = new URL(window.location.href).searchParams.get(SESSION_STATE)) !== null && _s !== void 0 ? _s : "";
300
+ resolvedState = (_t = new URL(window.location.href).searchParams.get(STATE)) !== null && _t !== void 0 ? _t : "";
290
301
  SPAUtils.removeAuthorizationCode();
291
302
  }
292
- if (resolvedAuthorizationCode) {
293
- return requestAccessToken(resolvedAuthorizationCode, resolvedSessionState);
303
+ if (resolvedAuthorizationCode && resolvedState) {
304
+ return requestAccessToken(resolvedAuthorizationCode, resolvedSessionState, resolvedState);
294
305
  }
295
306
  const error = new URL(window.location.href).searchParams.get(ERROR);
296
307
  const errorDescription = new URL(window.location.href).searchParams.get(ERROR_DESCRIPTION);
@@ -299,11 +310,12 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
299
310
  url.searchParams.delete(ERROR);
300
311
  url.searchParams.delete(ERROR_DESCRIPTION);
301
312
  history.pushState(null, document.title, url.toString());
302
- return Promise.reject(new AsgardeoSPAException("MAIN_THREAD_CLIENT-SI-BE", "main-thread-client", "signIn", error, errorDescription !== null && errorDescription !== void 0 ? errorDescription : ""));
313
+ throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-SI-SE01", error, errorDescription !== null && errorDescription !== void 0 ? errorDescription : "");
303
314
  }
304
315
  return _authenticationClient.getAuthorizationURL(signInConfig).then((url) => __awaiter(void 0, void 0, void 0, function* () {
305
316
  if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
306
- SPAUtils.setPKCE((yield _authenticationClient.getPKCECode()));
317
+ const pkceKey = AuthenticationUtils.extractPKCEKeyFromStateParam(resolvedState);
318
+ SPAUtils.setPKCE(pkceKey, (yield _authenticationClient.getPKCECode(resolvedState)));
307
319
  }
308
320
  location.href = url;
309
321
  yield SPAUtils.waitTillPageRedirect();
@@ -333,18 +345,18 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
333
345
  return true;
334
346
  });
335
347
  const requestCustomGrant = (config) => __awaiter(void 0, void 0, void 0, function* () {
336
- var _q, _r, _s;
348
+ var _u, _v, _w;
337
349
  let useDefaultEndpoint = true;
338
350
  let matches = false;
339
- const clientConfig = yield _dataLayer.getConfigData();
351
+ const serverOrigin = config.baseUrl || config.serverOrigin;
340
352
  // If the config does not contains a token endpoint, default token endpoint will be used.
341
353
  if (config === null || config === void 0 ? void 0 : config.tokenEndpoint) {
342
354
  useDefaultEndpoint = false;
343
355
  for (const baseUrl of [
344
- ...((_r = (_q = (yield _dataLayer.getConfigData())) === null || _q === void 0 ? void 0 : _q.resourceServerURLs) !== null && _r !== void 0 ? _r : []),
345
- clientConfig === null || clientConfig === void 0 ? void 0 : clientConfig.serverOrigin
356
+ ...((_v = (_u = (yield _dataLayer.getConfigData())) === null || _u === void 0 ? void 0 : _u.resourceServerURLs) !== null && _v !== void 0 ? _v : []),
357
+ serverOrigin
346
358
  ]) {
347
- if ((_s = config.tokenEndpoint) === null || _s === void 0 ? void 0 : _s.startsWith(baseUrl)) {
359
+ if (baseUrl && ((_w = config.tokenEndpoint) === null || _w === void 0 ? void 0 : _w.startsWith(baseUrl))) {
348
360
  matches = true;
349
361
  break;
350
362
  }
@@ -373,7 +385,7 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
373
385
  });
374
386
  }
375
387
  else {
376
- return Promise.reject(new AsgardeoSPAException("MAIN_THREAD_CLIENT-RCG-IV01", "main-thread-client", "requestCustomGrant", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
388
+ return Promise.reject(new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-RCG-IV01", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
377
389
  " attribute while initializing the SDK. The specified token endpoint in this request " +
378
390
  "cannot be found among the `resourceServerURLs`"));
379
391
  }
@@ -402,14 +414,14 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
402
414
  })
403
415
  .catch((error) => Promise.reject(error));
404
416
  };
405
- const requestAccessToken = (resolvedAuthorizationCode, resolvedSessionState) => __awaiter(void 0, void 0, void 0, function* () {
417
+ const requestAccessToken = (resolvedAuthorizationCode, resolvedSessionState, resolvedState) => __awaiter(void 0, void 0, void 0, function* () {
406
418
  const config = yield _dataLayer.getConfigData();
407
419
  if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
408
- const pkce = SPAUtils.getPKCE();
409
- yield _authenticationClient.setPKCECode(pkce);
420
+ const pkce = SPAUtils.getPKCE(AuthenticationUtils.extractPKCEKeyFromStateParam(resolvedState));
421
+ yield _authenticationClient.setPKCECode(AuthenticationUtils.extractPKCEKeyFromStateParam(resolvedState), pkce);
410
422
  }
411
423
  return _authenticationClient
412
- .requestAccessToken(resolvedAuthorizationCode, resolvedSessionState)
424
+ .requestAccessToken(resolvedAuthorizationCode, resolvedSessionState, resolvedState)
413
425
  .then(() => __awaiter(void 0, void 0, void 0, function* () {
414
426
  // Disable this temporarily
415
427
  /* if (config.storage === Storage.BrowserMemory) {
@@ -436,7 +448,7 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
436
448
  * if the user is signed in or with `false` if there is no active user session in the server.
437
449
  */
438
450
  const trySignInSilently = () => __awaiter(void 0, void 0, void 0, function* () {
439
- var _t;
451
+ var _x;
440
452
  const config = yield _dataLayer.getConfigData();
441
453
  if (SPAUtils.isInitializedSilentSignIn()) {
442
454
  yield _sessionManagementHelper.receivePromptNoneResponse();
@@ -451,7 +463,7 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
451
463
  });
452
464
  }
453
465
  const rpIFrame = document.getElementById(RP_IFRAME);
454
- const promptNoneIFrame = (_t = rpIFrame === null || rpIFrame === void 0 ? void 0 : rpIFrame.contentDocument) === null || _t === void 0 ? void 0 : _t.getElementById(PROMPT_NONE_IFRAME);
466
+ const promptNoneIFrame = (_x = rpIFrame === null || rpIFrame === void 0 ? void 0 : rpIFrame.contentDocument) === null || _x === void 0 ? void 0 : _x.getElementById(PROMPT_NONE_IFRAME);
455
467
  try {
456
468
  const urlString = yield _authenticationClient.getAuthorizationURL({
457
469
  prompt: "none",
@@ -462,7 +474,8 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
462
474
  urlObject.searchParams.set("response_mode", "query");
463
475
  const url = urlObject.toString();
464
476
  if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
465
- SPAUtils.setPKCE((yield _authenticationClient.getPKCECode()));
477
+ const state = urlObject.searchParams.get(STATE);
478
+ SPAUtils.setPKCE(AuthenticationUtils.extractPKCEKeyFromStateParam(state !== null && state !== void 0 ? state : ""), (yield _authenticationClient.getPKCECode(state !== null && state !== void 0 ? state : "")));
466
479
  }
467
480
  promptNoneIFrame.src = url;
468
481
  }
@@ -474,7 +487,7 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
474
487
  resolve(false);
475
488
  }, 10000);
476
489
  const listenToPromptNoneIFrame = (e) => __awaiter(void 0, void 0, void 0, function* () {
477
- var _a, _b;
490
+ var _a, _b, _c;
478
491
  const data = e.data;
479
492
  if ((data === null || data === void 0 ? void 0 : data.type) == CHECK_SESSION_SIGNED_OUT) {
480
493
  window.removeEventListener("message", listenToPromptNoneIFrame);
@@ -482,7 +495,7 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
482
495
  resolve(false);
483
496
  }
484
497
  if ((data === null || data === void 0 ? void 0 : data.type) == CHECK_SESSION_SIGNED_IN && ((_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.code)) {
485
- requestAccessToken(data.data.code, (_b = data === null || data === void 0 ? void 0 : data.data) === null || _b === void 0 ? void 0 : _b.sessionState)
498
+ requestAccessToken(data.data.code, (_b = data === null || data === void 0 ? void 0 : data.data) === null || _b === void 0 ? void 0 : _b.sessionState, (_c = data === null || data === void 0 ? void 0 : data.data) === null || _c === void 0 ? void 0 : _c.state)
486
499
  .then((response) => {
487
500
  window.removeEventListener("message", listenToPromptNoneIFrame);
488
501
  resolve(response);