@turnkey/sdk-browser 1.8.0 → 1.10.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 (41) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +82 -14
  3. package/dist/__generated__/sdk-client-base.d.ts +76 -0
  4. package/dist/__generated__/sdk-client-base.d.ts.map +1 -1
  5. package/dist/__generated__/sdk-client-base.js +1027 -52
  6. package/dist/__generated__/sdk-client-base.js.map +1 -1
  7. package/dist/__generated__/sdk-client-base.mjs +1027 -52
  8. package/dist/__generated__/sdk-client-base.mjs.map +1 -1
  9. package/dist/__generated__/version.d.ts +1 -1
  10. package/dist/__generated__/version.d.ts.map +1 -1
  11. package/dist/__generated__/version.js +1 -1
  12. package/dist/__generated__/version.mjs +1 -1
  13. package/dist/__inputs__/public_api.types.d.ts +7 -7
  14. package/dist/__inputs__/public_api.types.d.ts.map +1 -1
  15. package/dist/__types__/base.d.ts +18 -0
  16. package/dist/__types__/base.d.ts.map +1 -1
  17. package/dist/__types__/base.js +9 -0
  18. package/dist/__types__/base.js.map +1 -1
  19. package/dist/__types__/base.mjs +10 -1
  20. package/dist/__types__/base.mjs.map +1 -1
  21. package/dist/index.d.ts +9 -14
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +6 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/index.mjs +2 -1
  26. package/dist/index.mjs.map +1 -1
  27. package/dist/models.d.ts +45 -6
  28. package/dist/models.d.ts.map +1 -1
  29. package/dist/sdk-client.d.ts +30 -5
  30. package/dist/sdk-client.d.ts.map +1 -1
  31. package/dist/sdk-client.js +91 -44
  32. package/dist/sdk-client.js.map +1 -1
  33. package/dist/sdk-client.mjs +93 -47
  34. package/dist/sdk-client.mjs.map +1 -1
  35. package/dist/storage.d.ts +12 -0
  36. package/dist/storage.d.ts.map +1 -1
  37. package/dist/storage.js +43 -0
  38. package/dist/storage.js.map +1 -1
  39. package/dist/storage.mjs +43 -1
  40. package/dist/storage.mjs.map +1 -1
  41. package/package.json +6 -5
@@ -1,23 +1,35 @@
1
1
  import { WebauthnStamper } from '@turnkey/webauthn-stamper';
2
2
  import { IframeStamper } from '@turnkey/iframe-stamper';
3
3
  import { getWebAuthnAttestation } from '@turnkey/http';
4
+ import { WalletStamper } from '@turnkey/wallet-stamper';
4
5
  import { VERSION } from './__generated__/version.mjs';
5
6
  import WindowWrapper from './__polyfills__/window.mjs';
6
- import { TurnkeyRequestError } from './__types__/base.mjs';
7
+ import { TurnkeyRequestError, AuthClient } from './__types__/base.mjs';
7
8
  import { TurnkeySDKClientBase } from './__generated__/sdk-client-base.mjs';
8
- import { getStorageValue, StorageKeys, removeStorageValue, setStorageValue } from './storage.mjs';
9
+ import { getStorageValue, StorageKeys, removeStorageValue, saveSession } from './storage.mjs';
9
10
  import { generateRandomBuffer, base64UrlEncode, createEmbeddedAPIKey } from './utils.mjs';
10
11
 
11
12
  const DEFAULT_SESSION_EXPIRATION = "900"; // default to 15 minutes
12
13
  class TurnkeyBrowserSDK {
13
14
  constructor(config) {
14
- this.passkeyClient = (rpId) => {
15
+ /**
16
+ * Creates a passkey client. The parameters are overrides passed to the underlying Turnkey `WebauthnStamper`
17
+ * @param rpId Relying Party ID (defaults to window.location.hostname if not provided)
18
+ * @param timeout optional timeout (defaults to 5mins)
19
+ * @param userVerification optional UV flag (defaults to "preferred")
20
+ * @param allowCredentials optional allowCredentials array (defaults to empty array)
21
+ * @returns new TurnkeyPasskeyClient
22
+ */
23
+ this.passkeyClient = (rpId, timeout, userVerification, allowCredentials) => {
15
24
  const targetRpId = rpId ?? this.config.rpId ?? WindowWrapper.location.hostname;
16
25
  if (!targetRpId) {
17
26
  throw new Error("Tried to initialize a passkey client with no rpId defined");
18
27
  }
19
28
  const webauthnStamper = new WebauthnStamper({
20
29
  rpId: targetRpId,
30
+ ...(timeout !== undefined && { timeout }),
31
+ ...(userVerification !== undefined && { userVerification }),
32
+ ...(allowCredentials !== undefined && { allowCredentials }),
21
33
  });
22
34
  return new TurnkeyPasskeyClient({
23
35
  stamper: webauthnStamper,
@@ -42,6 +54,14 @@ class TurnkeyBrowserSDK {
42
54
  organizationId: this.config.defaultOrganizationId,
43
55
  });
44
56
  };
57
+ this.walletClient = (wallet) => {
58
+ return new TurnkeyWalletClient({
59
+ stamper: new WalletStamper(wallet),
60
+ wallet,
61
+ apiBaseUrl: this.config.apiBaseUrl,
62
+ organizationId: this.config.defaultOrganizationId,
63
+ });
64
+ };
45
65
  this.serverSign = async (methodName, params, serverSignUrl) => {
46
66
  const targetServerSignUrl = serverSignUrl ?? this.config.serverSignUrl;
47
67
  if (!targetServerSignUrl) {
@@ -80,12 +100,12 @@ class TurnkeyBrowserSDK {
80
100
  */
81
101
  this.currentUserSession = async () => {
82
102
  const currentUser = await this.getCurrentUser();
83
- if (!currentUser?.readOnlySession) {
103
+ if (!currentUser?.session?.read) {
84
104
  return;
85
105
  }
86
- if (currentUser?.readOnlySession?.sessionExpiry > Date.now()) {
106
+ if (currentUser?.session?.read?.expiry > Date.now()) {
87
107
  return new TurnkeyBrowserClient({
88
- readOnlySession: currentUser?.readOnlySession?.session,
108
+ readOnlySession: currentUser?.session?.read?.token,
89
109
  apiBaseUrl: this.config.apiBaseUrl,
90
110
  organizationId: currentUser?.organization?.organizationId ??
91
111
  this.config.defaultOrganizationId,
@@ -102,10 +122,10 @@ class TurnkeyBrowserSDK {
102
122
  * @returns {Promise<ReadWriteSession | undefined>}
103
123
  */
104
124
  this.getReadWriteSession = async () => {
105
- const readWriteSession = await getStorageValue(StorageKeys.ReadWriteSession);
106
- if (readWriteSession) {
107
- if (readWriteSession.sessionExpiry > Date.now()) {
108
- return readWriteSession;
125
+ const currentUser = await getStorageValue(StorageKeys.UserSession);
126
+ if (currentUser?.session?.write) {
127
+ if (currentUser.session.write.expiry > Date.now()) {
128
+ return currentUser.session.write;
109
129
  }
110
130
  else {
111
131
  await removeStorageValue(StorageKeys.ReadWriteSession);
@@ -114,12 +134,14 @@ class TurnkeyBrowserSDK {
114
134
  return;
115
135
  };
116
136
  /**
137
+ * @deprecated This method is deprecated and will be removed in future versions.
138
+ * It has been replaced by the `getReadWriteSession` method.
117
139
  * Fetches an auth bundle stored in local storage.
118
140
  *
119
141
  * @returns {Promise<string | undefined>}
120
142
  */
121
143
  this.getAuthBundle = async () => {
122
- return await getStorageValue(StorageKeys.AuthBundle); // DEPRECATED
144
+ return await getStorageValue(StorageKeys.AuthBundle);
123
145
  };
124
146
  /**
125
147
  * Fetches the current user's organization details.
@@ -136,7 +158,7 @@ class TurnkeyBrowserSDK {
136
158
  * @returns {Promise<User | undefined>}
137
159
  */
138
160
  this.getCurrentUser = async () => {
139
- return await getStorageValue(StorageKeys.CurrentUser);
161
+ return await getStorageValue(StorageKeys.UserSession);
140
162
  };
141
163
  /**
142
164
  * Clears out all data pertaining to a user session.
@@ -146,6 +168,7 @@ class TurnkeyBrowserSDK {
146
168
  this.logoutUser = async () => {
147
169
  await removeStorageValue(StorageKeys.AuthBundle); // DEPRECATED
148
170
  await removeStorageValue(StorageKeys.CurrentUser);
171
+ await removeStorageValue(StorageKeys.UserSession);
149
172
  await removeStorageValue(StorageKeys.ReadWriteSession);
150
173
  return true;
151
174
  };
@@ -153,28 +176,17 @@ class TurnkeyBrowserSDK {
153
176
  }
154
177
  }
155
178
  class TurnkeyBrowserClient extends TurnkeySDKClientBase {
156
- constructor(config) {
179
+ constructor(config, authClient) {
157
180
  super(config);
158
181
  this.login = async (config) => {
159
182
  const readOnlySessionResult = await this.createReadOnlySession(config || {});
160
- const org = {
161
- organizationId: readOnlySessionResult.organizationId,
162
- organizationName: readOnlySessionResult.organizationName,
163
- };
164
- const currentUser = {
165
- userId: readOnlySessionResult.userId,
166
- username: readOnlySessionResult.username,
167
- organization: org,
168
- readOnlySession: {
169
- session: readOnlySessionResult.session,
170
- sessionExpiry: Number(readOnlySessionResult.sessionExpiry),
171
- },
172
- };
173
- await setStorageValue(StorageKeys.CurrentUser, currentUser);
183
+ await saveSession(readOnlySessionResult, this.authClient);
174
184
  return readOnlySessionResult;
175
185
  };
176
186
  /**
177
- * Creates a read-write session. This method infers the current user's organization ID and target userId. To be used in conjunction with an `iframeStamper`: the resulting session's credential bundle can be injected into an iframeStamper to create a session that enables both read and write requests.
187
+ * Creates a read-write session. This method infers the current user's organization ID and target userId.
188
+ * To be used in conjunction with an `iframeStamper`: the resulting session's credential bundle can be
189
+ * injected into an iframeStamper to create a session that enables both read and write requests.
178
190
  *
179
191
  * @param email
180
192
  * @param targetEmbeddedKey
@@ -187,18 +199,22 @@ class TurnkeyBrowserClient extends TurnkeySDKClientBase {
187
199
  expirationSeconds,
188
200
  userId: userId,
189
201
  });
190
- // store auth bundle in local storage
191
- await setStorageValue(StorageKeys.ReadWriteSession, {
192
- authBundle: readWriteSessionResult.credentialBundle,
202
+ // Ensure session and sessionExpiry are included in the object
203
+ const readWriteSessionResultWithSession = {
204
+ ...readWriteSessionResult,
205
+ session: readWriteSessionResult.credentialBundle,
193
206
  sessionExpiry: Date.now() + Number(expirationSeconds) * 1000,
194
- });
195
- return readWriteSessionResult;
207
+ };
208
+ // store auth bundle in local storage
209
+ await saveSession(readWriteSessionResultWithSession, this.authClient);
210
+ return readWriteSessionResultWithSession;
196
211
  };
212
+ this.authClient = authClient;
197
213
  }
198
214
  }
199
215
  class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
200
216
  constructor(config) {
201
- super(config);
217
+ super(config, AuthClient.Passkey);
202
218
  /**
203
219
  * Create a passkey for an end-user, taking care of various lower-level details.
204
220
  *
@@ -229,6 +245,10 @@ class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
229
245
  type: "public-key",
230
246
  alg: -7,
231
247
  },
248
+ {
249
+ type: "public-key",
250
+ alg: -257,
251
+ },
232
252
  ],
233
253
  user: {
234
254
  id: config.publicKey?.user?.id ?? authenticatorUserId,
@@ -255,7 +275,11 @@ class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
255
275
  };
256
276
  };
257
277
  /**
258
- * Uses passkey authentication to create a read-write session, via an embedded API key, and stores + returns the resulting auth bundle that contains the encrypted API key. This auth bundle (also referred to as a credential bundle) can be injected into an iframeStamper, resulting in a touch-free authenticator. Unlike `loginWithReadWriteSession`, this method assumes the end-user's organization ID (i.e. the sub-organization ID) is already known.
278
+ * Uses passkey authentication to create a read-write session, via an embedded API key,
279
+ * and stores + returns the resulting auth bundle that contains the encrypted API key.
280
+ * This auth bundle (also referred to as a credential bundle) can be injected into an `iframeStamper`,
281
+ * resulting in a touch-free authenticator. Unlike `loginWithReadWriteSession`, this method
282
+ * assumes the end-user's organization ID (i.e. the sub-organization ID) is already known.
259
283
  *
260
284
  * @param userId
261
285
  * @param targetEmbeddedKey
@@ -264,12 +288,16 @@ class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
264
288
  * @returns {Promise<ReadWriteSession>}
265
289
  */
266
290
  this.createPasskeySession = async (userId, targetEmbeddedKey, expirationSeconds = DEFAULT_SESSION_EXPIRATION, organizationId) => {
267
- const localStorageUser = await getStorageValue(StorageKeys.CurrentUser);
268
- userId = userId ?? localStorageUser?.userId;
269
- const { authBundle, publicKey } = await createEmbeddedAPIKey(targetEmbeddedKey);
291
+ const user = await getStorageValue(StorageKeys.UserSession);
292
+ organizationId = organizationId ?? user?.organization.organizationId;
293
+ if (!organizationId) {
294
+ throw new Error("Error creating passkey session: Organization ID is required");
295
+ }
296
+ userId = userId ?? user?.userId;
297
+ const { authBundle: credentialBundle, publicKey } = await createEmbeddedAPIKey(targetEmbeddedKey);
270
298
  // add API key to Turnkey User
271
299
  await this.createApiKeys({
272
- organizationId: organizationId,
300
+ organizationId,
273
301
  userId,
274
302
  apiKeys: [
275
303
  {
@@ -280,20 +308,26 @@ class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
280
308
  },
281
309
  ],
282
310
  });
283
- const readWriteSession = {
284
- authBundle: authBundle,
285
- sessionExpiry: Date.now() + Number(expirationSeconds) * 1000,
311
+ const expiry = Date.now() + Number(expirationSeconds) * 1000;
312
+ await saveSession({
313
+ organizationId,
314
+ organizationName: user?.organization.organizationName ?? "",
315
+ userId,
316
+ username: user?.username ?? "",
317
+ credentialBundle,
318
+ sessionExpiry: expiry,
319
+ }, this.authClient);
320
+ return {
321
+ credentialBundle,
322
+ expiry,
286
323
  };
287
- // store auth bundle in local storage
288
- await setStorageValue(StorageKeys.ReadWriteSession, readWriteSession);
289
- return readWriteSession;
290
324
  };
291
325
  this.rpId = config.stamper.rpId;
292
326
  }
293
327
  }
294
328
  class TurnkeyIframeClient extends TurnkeyBrowserClient {
295
329
  constructor(config) {
296
- super(config);
330
+ super(config, AuthClient.Iframe);
297
331
  this.injectCredentialBundle = async (credentialBundle) => {
298
332
  const stamper = this.config.stamper;
299
333
  return await stamper.injectCredentialBundle(credentialBundle);
@@ -321,6 +355,18 @@ class TurnkeyIframeClient extends TurnkeyBrowserClient {
321
355
  this.iframePublicKey = config.stamper.iframePublicKey;
322
356
  }
323
357
  }
358
+ class TurnkeyWalletClient extends TurnkeyBrowserClient {
359
+ constructor(config) {
360
+ super(config, AuthClient.Wallet);
361
+ this.wallet = config.wallet;
362
+ }
363
+ async getPublicKey() {
364
+ return this.wallet.getPublicKey();
365
+ }
366
+ getWalletInterface() {
367
+ return this.wallet;
368
+ }
369
+ }
324
370
 
325
- export { TurnkeyBrowserClient, TurnkeyBrowserSDK, TurnkeyIframeClient, TurnkeyPasskeyClient };
371
+ export { TurnkeyBrowserClient, TurnkeyBrowserSDK, TurnkeyIframeClient, TurnkeyPasskeyClient, TurnkeyWalletClient };
326
372
  //# sourceMappingURL=sdk-client.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-client.mjs","sources":["../src/sdk-client.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk-client.mjs","sources":["../src/sdk-client.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/storage.d.ts CHANGED
@@ -1,16 +1,28 @@
1
1
  import type { User, ReadWriteSession } from "./models";
2
+ import type { AuthClient, TSessionResponse } from "./__types__/base";
2
3
  export declare enum StorageKeys {
3
4
  AuthBundle = "@turnkey/auth_bundle",
4
5
  CurrentUser = "@turnkey/current_user",
6
+ UserSession = "@turnkey/session/v1",
5
7
  ReadWriteSession = "@turnkey/read_write_session"
6
8
  }
7
9
  interface StorageValue {
8
10
  [StorageKeys.AuthBundle]: string;
9
11
  [StorageKeys.CurrentUser]: User;
12
+ [StorageKeys.UserSession]: User;
10
13
  [StorageKeys.ReadWriteSession]: ReadWriteSession;
11
14
  }
12
15
  export declare const getStorageValue: <K extends StorageKeys>(storageKey: K) => Promise<StorageValue[K] | undefined>;
13
16
  export declare const setStorageValue: <K extends StorageKeys>(storageKey: K, storageValue: StorageValue[K]) => Promise<any>;
14
17
  export declare const removeStorageValue: <K extends StorageKeys>(storageKey: K) => Promise<void>;
18
+ /**
19
+ * Saves a user session to storage.
20
+ *
21
+ * @param {TSessionResponse} sessionResponse - The session response containing session details.
22
+ * @param {AuthClient} authClient - The authentication client used for the session.
23
+ * @throws Will throw an error if the authentication client is not set.
24
+ * @returns {Promise<void>} A promise that resolves when the session is saved.
25
+ */
26
+ export declare const saveSession: ({ organizationId, organizationName, sessionExpiry, credentialBundle, userId, username, ...sessionResponse }: TSessionResponse, authClient?: AuthClient) => Promise<void>;
15
27
  export {};
16
28
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGvD,oBAAY,WAAW;IACrB,UAAU,yBAAyB;IACnC,WAAW,0BAA0B;IACrC,gBAAgB,gCAAgC;CACjD;AAED,UAAU,YAAY;IACpB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAChC,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CAClD;AAoBD,eAAO,MAAM,eAAe,gFAO3B,CAAC;AAEF,eAAO,MAAM,eAAe,2EAGzB,QAAQ,GAAG,CAIb,CAAC;AAEF,eAAO,MAAM,kBAAkB,4CAE5B,QAAQ,IAAI,CAId,CAAC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAErE,oBAAY,WAAW;IACrB,UAAU,yBAAyB;IACnC,WAAW,0BAA0B;IACrC,WAAW,wBAAwB;IACnC,gBAAgB,gCAAgC;CACjD;AAED,UAAU,YAAY;IACpB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAChC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAChC,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CAClD;AAqBD,eAAO,MAAM,eAAe,gFAO3B,CAAC;AAEF,eAAO,MAAM,eAAe,2EAGzB,QAAQ,GAAG,CAIb,CAAC;AAEF,eAAO,MAAM,kBAAkB,4CAE5B,QAAQ,IAAI,CAId,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,gHASnB,gBAAgB,eACN,UAAU,KACtB,QAAQ,IAAI,CAkCd,CAAC"}
package/dist/storage.js CHANGED
@@ -6,6 +6,7 @@ exports.StorageKeys = void 0;
6
6
  (function (StorageKeys) {
7
7
  StorageKeys["AuthBundle"] = "@turnkey/auth_bundle";
8
8
  StorageKeys["CurrentUser"] = "@turnkey/current_user";
9
+ StorageKeys["UserSession"] = "@turnkey/session/v1";
9
10
  StorageKeys["ReadWriteSession"] = "@turnkey/read_write_session";
10
11
  })(exports.StorageKeys || (exports.StorageKeys = {}));
11
12
  var StorageLocation;
@@ -18,6 +19,7 @@ const STORAGE_VALUE_LOCATIONS = {
18
19
  [exports.StorageKeys.AuthBundle]: StorageLocation.Secure,
19
20
  [exports.StorageKeys.CurrentUser]: StorageLocation.Local,
20
21
  [exports.StorageKeys.ReadWriteSession]: StorageLocation.Secure,
22
+ [exports.StorageKeys.UserSession]: StorageLocation.Session,
21
23
  };
22
24
  const STORAGE_LOCATIONS = {
23
25
  [StorageLocation.Local]: window.localStorage,
@@ -40,8 +42,49 @@ const removeStorageValue = async (storageKey) => {
40
42
  const browserStorageLocation = STORAGE_LOCATIONS[storageLocation];
41
43
  browserStorageLocation.removeItem(storageKey);
42
44
  };
45
+ /**
46
+ * Saves a user session to storage.
47
+ *
48
+ * @param {TSessionResponse} sessionResponse - The session response containing session details.
49
+ * @param {AuthClient} authClient - The authentication client used for the session.
50
+ * @throws Will throw an error if the authentication client is not set.
51
+ * @returns {Promise<void>} A promise that resolves when the session is saved.
52
+ */
53
+ const saveSession = async ({ organizationId, organizationName, sessionExpiry, credentialBundle, userId, username, ...sessionResponse }, authClient) => {
54
+ if (!authClient) {
55
+ throw new Error("Failed to save session: Authentication client not set");
56
+ }
57
+ const expiry = Number(sessionExpiry);
58
+ const session = credentialBundle
59
+ ? {
60
+ write: {
61
+ credentialBundle,
62
+ expiry,
63
+ },
64
+ }
65
+ : {
66
+ read: {
67
+ token: sessionResponse.session,
68
+ expiry,
69
+ },
70
+ };
71
+ const userSession = {
72
+ userId,
73
+ username,
74
+ organization: {
75
+ organizationId,
76
+ organizationName,
77
+ },
78
+ session: {
79
+ authClient,
80
+ ...session,
81
+ },
82
+ };
83
+ await setStorageValue(exports.StorageKeys.UserSession, userSession);
84
+ };
43
85
 
44
86
  exports.getStorageValue = getStorageValue;
45
87
  exports.removeStorageValue = removeStorageValue;
88
+ exports.saveSession = saveSession;
46
89
  exports.setStorageValue = setStorageValue;
47
90
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sources":["../src/storage.ts"],"sourcesContent":[null],"names":["StorageKeys","WindowWrapper"],"mappings":";;;;AAGYA,6BAIX;AAJD,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,sBAAmC,CAAA;AACnC,IAAA,WAAA,CAAA,aAAA,CAAA,GAAA,uBAAqC,CAAA;AACrC,IAAA,WAAA,CAAA,kBAAA,CAAA,GAAA,6BAAgD,CAAA;AAClD,CAAC,EAJWA,mBAAW,KAAXA,mBAAW,GAItB,EAAA,CAAA,CAAA,CAAA;AAQD,IAAK,eAIJ,CAAA;AAJD,CAAA,UAAK,eAAe,EAAA;AAClB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAJI,eAAe,KAAf,eAAe,GAInB,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,uBAAuB,GAAyC;AACpE,IAAA,CAACA,mBAAW,CAAC,UAAU,GAAG,eAAe,CAAC,MAAM;AAChD,IAAA,CAACA,mBAAW,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK;AAChD,IAAA,CAACA,mBAAW,CAAC,gBAAgB,GAAG,eAAe,CAAC,MAAM;CACvD,CAAC;AAEF,MAAM,iBAAiB,GAAG;AACxB,IAAA,CAAC,eAAe,CAAC,KAAK,GAAGC,MAAa,CAAC,YAAY;AACnD,IAAA,CAAC,eAAe,CAAC,MAAM,GAAGA,MAAa,CAAC,YAAY;AACpD,IAAA,CAAC,eAAe,CAAC,OAAO,GAAGA,MAAa,CAAC,YAAY;CACtD,CAAC;MAEW,eAAe,GAAG,OAC7B,UAAa,KAC2B;AACxC,IAAA,MAAM,eAAe,GAAoB,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAA,MAAM,sBAAsB,GAAY,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/D,IAAA,OAAO,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;AAC3D,EAAE;AAEW,MAAA,eAAe,GAAG,OAC7B,UAAa,EACb,YAA6B,KACb;AAChB,IAAA,MAAM,eAAe,GAAoB,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAA,MAAM,sBAAsB,GAAY,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAC3E,IAAA,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AAC3E,EAAE;MAEW,kBAAkB,GAAG,OAChC,UAAa,KACI;AACjB,IAAA,MAAM,eAAe,GAAoB,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAA,MAAM,sBAAsB,GAAY,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAC3E,IAAA,sBAAsB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAChD;;;;;;"}
1
+ {"version":3,"file":"storage.js","sources":["../src/storage.ts"],"sourcesContent":[null],"names":["StorageKeys","WindowWrapper"],"mappings":";;;;AAIYA,6BAKX;AALD,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,sBAAmC,CAAA;AACnC,IAAA,WAAA,CAAA,aAAA,CAAA,GAAA,uBAAqC,CAAA;AACrC,IAAA,WAAA,CAAA,aAAA,CAAA,GAAA,qBAAmC,CAAA;AACnC,IAAA,WAAA,CAAA,kBAAA,CAAA,GAAA,6BAAgD,CAAA;AAClD,CAAC,EALWA,mBAAW,KAAXA,mBAAW,GAKtB,EAAA,CAAA,CAAA,CAAA;AASD,IAAK,eAIJ,CAAA;AAJD,CAAA,UAAK,eAAe,EAAA;AAClB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAJI,eAAe,KAAf,eAAe,GAInB,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,uBAAuB,GAAyC;AACpE,IAAA,CAACA,mBAAW,CAAC,UAAU,GAAG,eAAe,CAAC,MAAM;AAChD,IAAA,CAACA,mBAAW,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK;AAChD,IAAA,CAACA,mBAAW,CAAC,gBAAgB,GAAG,eAAe,CAAC,MAAM;AACtD,IAAA,CAACA,mBAAW,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO;CACnD,CAAC;AAEF,MAAM,iBAAiB,GAAG;AACxB,IAAA,CAAC,eAAe,CAAC,KAAK,GAAGC,MAAa,CAAC,YAAY;AACnD,IAAA,CAAC,eAAe,CAAC,MAAM,GAAGA,MAAa,CAAC,YAAY;AACpD,IAAA,CAAC,eAAe,CAAC,OAAO,GAAGA,MAAa,CAAC,YAAY;CACtD,CAAC;MAEW,eAAe,GAAG,OAC7B,UAAa,KAC2B;AACxC,IAAA,MAAM,eAAe,GAAoB,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAA,MAAM,sBAAsB,GAAY,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/D,IAAA,OAAO,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;AAC3D,EAAE;AAEW,MAAA,eAAe,GAAG,OAC7B,UAAa,EACb,YAA6B,KACb;AAChB,IAAA,MAAM,eAAe,GAAoB,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAA,MAAM,sBAAsB,GAAY,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAC3E,IAAA,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AAC3E,EAAE;MAEW,kBAAkB,GAAG,OAChC,UAAa,KACI;AACjB,IAAA,MAAM,eAAe,GAAoB,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAA,MAAM,sBAAsB,GAAY,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAC3E,IAAA,sBAAsB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAChD,EAAE;AAEF;;;;;;;AAOG;AACU,MAAA,WAAW,GAAG,OACzB,EACE,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,GAAG,eAAe,EACD,EACnB,UAAuB,KACN;IACjB,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAC1E,KAAA;AAED,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,gBAAgB;AAC9B,UAAE;AACE,YAAA,KAAK,EAAE;gBACL,gBAAgB;gBAChB,MAAM;AACP,aAAA;AACF,SAAA;AACH,UAAE;AACE,YAAA,IAAI,EAAE;gBACJ,KAAK,EAAE,eAAe,CAAC,OAAQ;gBAC/B,MAAM;AACP,aAAA;SACF,CAAC;AAEN,IAAA,MAAM,WAAW,GAAS;QACxB,MAAM;QACN,QAAQ;AACR,QAAA,YAAY,EAAE;YACZ,cAAc;YACd,gBAAgB;AACjB,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU;AACV,YAAA,GAAG,OAAO;AACX,SAAA;KACF,CAAC;IAEF,MAAM,eAAe,CAACD,mBAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC9D;;;;;;;"}
package/dist/storage.mjs CHANGED
@@ -4,6 +4,7 @@ var StorageKeys;
4
4
  (function (StorageKeys) {
5
5
  StorageKeys["AuthBundle"] = "@turnkey/auth_bundle";
6
6
  StorageKeys["CurrentUser"] = "@turnkey/current_user";
7
+ StorageKeys["UserSession"] = "@turnkey/session/v1";
7
8
  StorageKeys["ReadWriteSession"] = "@turnkey/read_write_session";
8
9
  })(StorageKeys || (StorageKeys = {}));
9
10
  var StorageLocation;
@@ -16,6 +17,7 @@ const STORAGE_VALUE_LOCATIONS = {
16
17
  [StorageKeys.AuthBundle]: StorageLocation.Secure,
17
18
  [StorageKeys.CurrentUser]: StorageLocation.Local,
18
19
  [StorageKeys.ReadWriteSession]: StorageLocation.Secure,
20
+ [StorageKeys.UserSession]: StorageLocation.Session,
19
21
  };
20
22
  const STORAGE_LOCATIONS = {
21
23
  [StorageLocation.Local]: WindowWrapper.localStorage,
@@ -38,6 +40,46 @@ const removeStorageValue = async (storageKey) => {
38
40
  const browserStorageLocation = STORAGE_LOCATIONS[storageLocation];
39
41
  browserStorageLocation.removeItem(storageKey);
40
42
  };
43
+ /**
44
+ * Saves a user session to storage.
45
+ *
46
+ * @param {TSessionResponse} sessionResponse - The session response containing session details.
47
+ * @param {AuthClient} authClient - The authentication client used for the session.
48
+ * @throws Will throw an error if the authentication client is not set.
49
+ * @returns {Promise<void>} A promise that resolves when the session is saved.
50
+ */
51
+ const saveSession = async ({ organizationId, organizationName, sessionExpiry, credentialBundle, userId, username, ...sessionResponse }, authClient) => {
52
+ if (!authClient) {
53
+ throw new Error("Failed to save session: Authentication client not set");
54
+ }
55
+ const expiry = Number(sessionExpiry);
56
+ const session = credentialBundle
57
+ ? {
58
+ write: {
59
+ credentialBundle,
60
+ expiry,
61
+ },
62
+ }
63
+ : {
64
+ read: {
65
+ token: sessionResponse.session,
66
+ expiry,
67
+ },
68
+ };
69
+ const userSession = {
70
+ userId,
71
+ username,
72
+ organization: {
73
+ organizationId,
74
+ organizationName,
75
+ },
76
+ session: {
77
+ authClient,
78
+ ...session,
79
+ },
80
+ };
81
+ await setStorageValue(StorageKeys.UserSession, userSession);
82
+ };
41
83
 
42
- export { StorageKeys, getStorageValue, removeStorageValue, setStorageValue };
84
+ export { StorageKeys, getStorageValue, removeStorageValue, saveSession, setStorageValue };
43
85
  //# sourceMappingURL=storage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.mjs","sources":["../src/storage.ts"],"sourcesContent":[null],"names":[],"mappings":";;IAGY,YAIX;AAJD,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,sBAAmC,CAAA;AACnC,IAAA,WAAA,CAAA,aAAA,CAAA,GAAA,uBAAqC,CAAA;AACrC,IAAA,WAAA,CAAA,kBAAA,CAAA,GAAA,6BAAgD,CAAA;AAClD,CAAC,EAJW,WAAW,KAAX,WAAW,GAItB,EAAA,CAAA,CAAA,CAAA;AAQD,IAAK,eAIJ,CAAA;AAJD,CAAA,UAAK,eAAe,EAAA;AAClB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAJI,eAAe,KAAf,eAAe,GAInB,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,uBAAuB,GAAyC;AACpE,IAAA,CAAC,WAAW,CAAC,UAAU,GAAG,eAAe,CAAC,MAAM;AAChD,IAAA,CAAC,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK;AAChD,IAAA,CAAC,WAAW,CAAC,gBAAgB,GAAG,eAAe,CAAC,MAAM;CACvD,CAAC;AAEF,MAAM,iBAAiB,GAAG;AACxB,IAAA,CAAC,eAAe,CAAC,KAAK,GAAG,aAAa,CAAC,YAAY;AACnD,IAAA,CAAC,eAAe,CAAC,MAAM,GAAG,aAAa,CAAC,YAAY;AACpD,IAAA,CAAC,eAAe,CAAC,OAAO,GAAG,aAAa,CAAC,YAAY;CACtD,CAAC;MAEW,eAAe,GAAG,OAC7B,UAAa,KAC2B;AACxC,IAAA,MAAM,eAAe,GAAoB,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAA,MAAM,sBAAsB,GAAY,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/D,IAAA,OAAO,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;AAC3D,EAAE;AAEW,MAAA,eAAe,GAAG,OAC7B,UAAa,EACb,YAA6B,KACb;AAChB,IAAA,MAAM,eAAe,GAAoB,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAA,MAAM,sBAAsB,GAAY,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAC3E,IAAA,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AAC3E,EAAE;MAEW,kBAAkB,GAAG,OAChC,UAAa,KACI;AACjB,IAAA,MAAM,eAAe,GAAoB,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAA,MAAM,sBAAsB,GAAY,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAC3E,IAAA,sBAAsB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAChD;;;;"}
1
+ {"version":3,"file":"storage.mjs","sources":["../src/storage.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turnkey/sdk-browser",
3
- "version": "1.8.0",
3
+ "version": "1.10.0",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "exports": {
@@ -43,12 +43,13 @@
43
43
  "cross-fetch": "^3.1.5",
44
44
  "elliptic": "^6.5.5",
45
45
  "hpke-js": "^1.2.7",
46
- "@turnkey/http": "2.15.0",
47
- "@turnkey/crypto": "2.0.0",
48
46
  "@turnkey/api-key-stamper": "0.4.3",
49
- "@turnkey/webauthn-stamper": "0.5.0",
47
+ "@turnkey/http": "2.16.0",
50
48
  "@turnkey/encoding": "0.4.0",
51
- "@turnkey/iframe-stamper": "2.0.0"
49
+ "@turnkey/iframe-stamper": "2.0.0",
50
+ "@turnkey/crypto": "2.2.0",
51
+ "@turnkey/wallet-stamper": "1.0.0",
52
+ "@turnkey/webauthn-stamper": "0.5.0"
52
53
  },
53
54
  "devDependencies": {
54
55
  "@types/elliptic": "^6.4.18",