@turnkey/sdk-browser 1.9.0 → 1.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/README.md +82 -14
- package/dist/__generated__/sdk-client-base.js +52 -52
- package/dist/__generated__/sdk-client-base.mjs +52 -52
- package/dist/__generated__/version.d.ts +1 -1
- package/dist/__generated__/version.d.ts.map +1 -1
- package/dist/__generated__/version.js +1 -1
- package/dist/__generated__/version.mjs +1 -1
- package/dist/__types__/base.d.ts +18 -0
- package/dist/__types__/base.d.ts.map +1 -1
- package/dist/__types__/base.js +9 -0
- package/dist/__types__/base.js.map +1 -1
- package/dist/__types__/base.mjs +10 -1
- package/dist/__types__/base.mjs.map +1 -1
- package/dist/index.d.ts +9 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/dist/models.d.ts +45 -6
- package/dist/models.d.ts.map +1 -1
- package/dist/sdk-client.d.ts +21 -4
- package/dist/sdk-client.d.ts.map +1 -1
- package/dist/sdk-client.js +75 -43
- package/dist/sdk-client.js.map +1 -1
- package/dist/sdk-client.mjs +77 -46
- package/dist/sdk-client.mjs.map +1 -1
- package/dist/storage.d.ts +12 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +43 -0
- package/dist/storage.js.map +1 -1
- package/dist/storage.mjs +43 -1
- package/dist/storage.mjs.map +1 -1
- package/dist/turnkey-helpers.d.ts +61 -1
- package/dist/turnkey-helpers.d.ts.map +1 -1
- package/dist/turnkey-helpers.js +9 -1
- package/dist/turnkey-helpers.js.map +1 -1
- package/dist/turnkey-helpers.mjs +9 -1
- package/dist/turnkey-helpers.mjs.map +1 -1
- package/package.json +4 -3
package/dist/index.mjs
CHANGED
|
@@ -2,7 +2,8 @@ export { TurnkeyActivityError, TurnkeyApi, TurnkeyRequestError, createActivityPo
|
|
|
2
2
|
export { ApiKeyStamper, signWithApiKey } from '@turnkey/api-key-stamper';
|
|
3
3
|
export { IframeEventType, IframeStamper } from '@turnkey/iframe-stamper';
|
|
4
4
|
export { WebauthnStamper } from '@turnkey/webauthn-stamper';
|
|
5
|
-
export { TurnkeyBrowserSDK as Turnkey, TurnkeyBrowserClient, TurnkeyIframeClient, TurnkeyPasskeyClient } from './sdk-client.mjs';
|
|
5
|
+
export { TurnkeyBrowserSDK as Turnkey, TurnkeyBrowserClient, TurnkeyIframeClient, TurnkeyPasskeyClient, TurnkeyWalletClient } from './sdk-client.mjs';
|
|
6
6
|
export { StorageKeys, getStorageValue, setStorageValue } from './storage.mjs';
|
|
7
7
|
export { DEFAULT_ETHEREUM_ACCOUNTS, DEFAULT_SOLANA_ACCOUNTS, defaultEthereumAccountAtIndex, defaultSolanaAccountAtIndex } from './turnkey-helpers.mjs';
|
|
8
|
+
export { AuthClient } from './__types__/base.mjs';
|
|
8
9
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
package/dist/models.d.ts
CHANGED
|
@@ -1,16 +1,55 @@
|
|
|
1
|
+
import type { AuthClient } from "./__types__/base";
|
|
2
|
+
/**
|
|
3
|
+
* This interface defines the structure of user data that will be stored in local storage
|
|
4
|
+
* when using one of the login methods.
|
|
5
|
+
*/
|
|
1
6
|
export interface User {
|
|
2
7
|
userId: string;
|
|
3
8
|
username: string;
|
|
4
|
-
organization:
|
|
5
|
-
|
|
9
|
+
organization: {
|
|
10
|
+
organizationId: string;
|
|
11
|
+
organizationName: string;
|
|
12
|
+
};
|
|
13
|
+
session: {
|
|
14
|
+
read?: ReadOnlySession;
|
|
15
|
+
write?: ReadWriteSession;
|
|
16
|
+
authClient: AuthClient;
|
|
17
|
+
} | undefined;
|
|
6
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Represents an expiring read-only session with a token for read-only requests.
|
|
21
|
+
*/
|
|
7
22
|
export interface ReadOnlySession {
|
|
8
|
-
|
|
9
|
-
|
|
23
|
+
/**
|
|
24
|
+
* This token is generated by the `createReadOnlySession` method in the `TurnkeySDKClientBase` class.
|
|
25
|
+
* It is used in the `X-Session` header for read-only requests to Turnkey's API.
|
|
26
|
+
*
|
|
27
|
+
* @see {@link TurnkeySDKClientBase#createReadOnlySession}
|
|
28
|
+
*/
|
|
29
|
+
token: string;
|
|
30
|
+
/**
|
|
31
|
+
* The expiry time of the token in seconds since the Unix epoch.
|
|
32
|
+
* This indicates when the token will no longer be valid.
|
|
33
|
+
*/
|
|
34
|
+
expiry: number;
|
|
10
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Represents an expiring read-write session with a credential bundle for read-write requests.
|
|
38
|
+
*/
|
|
11
39
|
export interface ReadWriteSession {
|
|
12
|
-
|
|
13
|
-
|
|
40
|
+
/**
|
|
41
|
+
* This bundle is generated by the `createReadWriteSession` and `createApiKeys` methods in the `TurnkeySDKClientBase` and `TurnkeyPasskeyClient` classes.
|
|
42
|
+
* It is injected into the iFrame client to enable read and write operations.
|
|
43
|
+
*
|
|
44
|
+
* @see {@link TurnkeySDKClientBase#createReadWriteSession}
|
|
45
|
+
* @see {@link TurnkeyPasskeyClient#createApiKeys}
|
|
46
|
+
*/
|
|
47
|
+
credentialBundle: string;
|
|
48
|
+
/**
|
|
49
|
+
* The expiry time of the credential bundle in seconds since the Unix epoch.
|
|
50
|
+
* This indicates when the credential bundle will no longer be valid.
|
|
51
|
+
*/
|
|
52
|
+
expiry: number;
|
|
14
53
|
}
|
|
15
54
|
export interface SubOrganization {
|
|
16
55
|
organizationId: string;
|
package/dist/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,IAAI;IAEnB,MAAM,EAAE,MAAM,CAAC;IAGf,QAAQ,EAAE,MAAM,CAAC;IAGjB,YAAY,EAAE;QAEZ,cAAc,EAAE,MAAM,CAAC;QAGvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAGF,OAAO,EACH;QAEE,IAAI,CAAC,EAAE,eAAe,CAAC;QAGvB,KAAK,CAAC,EAAE,gBAAgB,CAAC;QAGzB,UAAU,EAAE,UAAU,CAAC;KACxB,GACD,SAAS,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,CACR,6BAA6B,GAC7B,kCAAkC,GAClC,6BAA6B,GAC7B,6BAA6B,GAC7B,gCAAgC,CACnC,EAAE,CAAC;KACL,CAAC;CACH,CAAC"}
|
package/dist/sdk-client.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { KeyFormat } from "@turnkey/iframe-stamper";
|
|
2
|
-
import
|
|
2
|
+
import { type WalletInterface } from "@turnkey/wallet-stamper";
|
|
3
|
+
import { type TurnkeySDKClientConfig, type TurnkeySDKBrowserConfig, type IframeClientParams, type TurnkeyWalletClientConfig, AuthClient } from "./__types__/base";
|
|
3
4
|
import { TurnkeySDKClientBase } from "./__generated__/sdk-client-base";
|
|
4
5
|
import type * as SdkApiTypes from "./__generated__/sdk_api_types";
|
|
5
6
|
import type { User, SubOrganization, ReadWriteSession, Passkey } from "./models";
|
|
@@ -16,6 +17,7 @@ export declare class TurnkeyBrowserSDK {
|
|
|
16
17
|
*/
|
|
17
18
|
passkeyClient: (rpId?: string, timeout?: number, userVerification?: UserVerificationRequirement, allowCredentials?: PublicKeyCredentialDescriptor[]) => TurnkeyPasskeyClient;
|
|
18
19
|
iframeClient: (params: IframeClientParams) => Promise<TurnkeyIframeClient>;
|
|
20
|
+
walletClient: (wallet: WalletInterface) => TurnkeyWalletClient;
|
|
19
21
|
serverSign: <TResponseType>(methodName: string, params: any[], serverSignUrl?: string) => Promise<TResponseType>;
|
|
20
22
|
/**
|
|
21
23
|
* If there is a valid, current user session, this will return a read-enabled TurnkeyBrowserClient that can make read requests to Turnkey without additional authentication. This is powered by a session header resulting from a prior successful `login` call.
|
|
@@ -30,6 +32,8 @@ export declare class TurnkeyBrowserSDK {
|
|
|
30
32
|
*/
|
|
31
33
|
getReadWriteSession: () => Promise<ReadWriteSession | undefined>;
|
|
32
34
|
/**
|
|
35
|
+
* @deprecated This method is deprecated and will be removed in future versions.
|
|
36
|
+
* It has been replaced by the `getReadWriteSession` method.
|
|
33
37
|
* Fetches an auth bundle stored in local storage.
|
|
34
38
|
*
|
|
35
39
|
* @returns {Promise<string | undefined>}
|
|
@@ -55,12 +59,15 @@ export declare class TurnkeyBrowserSDK {
|
|
|
55
59
|
logoutUser: () => Promise<boolean>;
|
|
56
60
|
}
|
|
57
61
|
export declare class TurnkeyBrowserClient extends TurnkeySDKClientBase {
|
|
58
|
-
|
|
62
|
+
authClient?: AuthClient | undefined;
|
|
63
|
+
constructor(config: TurnkeySDKClientConfig, authClient?: AuthClient);
|
|
59
64
|
login: (config?: {
|
|
60
65
|
organizationId?: string;
|
|
61
66
|
}) => Promise<SdkApiTypes.TCreateReadOnlySessionResponse>;
|
|
62
67
|
/**
|
|
63
|
-
* Creates a read-write session. This method infers the current user's organization ID and target userId.
|
|
68
|
+
* Creates a read-write session. This method infers the current user's organization ID and target userId.
|
|
69
|
+
* To be used in conjunction with an `iframeStamper`: the resulting session's credential bundle can be
|
|
70
|
+
* injected into an iframeStamper to create a session that enables both read and write requests.
|
|
64
71
|
*
|
|
65
72
|
* @param email
|
|
66
73
|
* @param targetEmbeddedKey
|
|
@@ -79,7 +86,11 @@ export declare class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
|
|
|
79
86
|
*/
|
|
80
87
|
createUserPasskey: (config?: Record<any, any>) => Promise<Passkey>;
|
|
81
88
|
/**
|
|
82
|
-
* Uses passkey authentication to create a read-write session, via an embedded API key,
|
|
89
|
+
* Uses passkey authentication to create a read-write session, via an embedded API key,
|
|
90
|
+
* and stores + returns the resulting auth bundle that contains the encrypted API key.
|
|
91
|
+
* This auth bundle (also referred to as a credential bundle) can be injected into an `iframeStamper`,
|
|
92
|
+
* resulting in a touch-free authenticator. Unlike `loginWithReadWriteSession`, this method
|
|
93
|
+
* assumes the end-user's organization ID (i.e. the sub-organization ID) is already known.
|
|
83
94
|
*
|
|
84
95
|
* @param userId
|
|
85
96
|
* @param targetEmbeddedKey
|
|
@@ -99,4 +110,10 @@ export declare class TurnkeyIframeClient extends TurnkeyBrowserClient {
|
|
|
99
110
|
extractWalletEncryptedBundle: () => Promise<string>;
|
|
100
111
|
extractKeyEncryptedBundle: () => Promise<string>;
|
|
101
112
|
}
|
|
113
|
+
export declare class TurnkeyWalletClient extends TurnkeyBrowserClient {
|
|
114
|
+
private wallet;
|
|
115
|
+
constructor(config: TurnkeyWalletClientConfig);
|
|
116
|
+
getPublicKey(): Promise<string>;
|
|
117
|
+
getWalletInterface(): WalletInterface;
|
|
118
|
+
}
|
|
102
119
|
//# sourceMappingURL=sdk-client.d.ts.map
|
package/dist/sdk-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-client.d.ts","sourceRoot":"","sources":["../src/sdk-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk-client.d.ts","sourceRoot":"","sources":["../src/sdk-client.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk-client.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var webauthnStamper = require('@turnkey/webauthn-stamper');
|
|
4
4
|
var iframeStamper = require('@turnkey/iframe-stamper');
|
|
5
5
|
var http = require('@turnkey/http');
|
|
6
|
+
var walletStamper = require('@turnkey/wallet-stamper');
|
|
6
7
|
var version = require('./__generated__/version.js');
|
|
7
8
|
var window = require('./__polyfills__/window.js');
|
|
8
9
|
var base = require('./__types__/base.js');
|
|
@@ -55,6 +56,14 @@ class TurnkeyBrowserSDK {
|
|
|
55
56
|
organizationId: this.config.defaultOrganizationId,
|
|
56
57
|
});
|
|
57
58
|
};
|
|
59
|
+
this.walletClient = (wallet) => {
|
|
60
|
+
return new TurnkeyWalletClient({
|
|
61
|
+
stamper: new walletStamper.WalletStamper(wallet),
|
|
62
|
+
wallet,
|
|
63
|
+
apiBaseUrl: this.config.apiBaseUrl,
|
|
64
|
+
organizationId: this.config.defaultOrganizationId,
|
|
65
|
+
});
|
|
66
|
+
};
|
|
58
67
|
this.serverSign = async (methodName, params, serverSignUrl) => {
|
|
59
68
|
const targetServerSignUrl = serverSignUrl ?? this.config.serverSignUrl;
|
|
60
69
|
if (!targetServerSignUrl) {
|
|
@@ -93,12 +102,12 @@ class TurnkeyBrowserSDK {
|
|
|
93
102
|
*/
|
|
94
103
|
this.currentUserSession = async () => {
|
|
95
104
|
const currentUser = await this.getCurrentUser();
|
|
96
|
-
if (!currentUser?.
|
|
105
|
+
if (!currentUser?.session?.read) {
|
|
97
106
|
return;
|
|
98
107
|
}
|
|
99
|
-
if (currentUser?.
|
|
108
|
+
if (currentUser?.session?.read?.expiry > Date.now()) {
|
|
100
109
|
return new TurnkeyBrowserClient({
|
|
101
|
-
readOnlySession: currentUser?.
|
|
110
|
+
readOnlySession: currentUser?.session?.read?.token,
|
|
102
111
|
apiBaseUrl: this.config.apiBaseUrl,
|
|
103
112
|
organizationId: currentUser?.organization?.organizationId ??
|
|
104
113
|
this.config.defaultOrganizationId,
|
|
@@ -115,10 +124,10 @@ class TurnkeyBrowserSDK {
|
|
|
115
124
|
* @returns {Promise<ReadWriteSession | undefined>}
|
|
116
125
|
*/
|
|
117
126
|
this.getReadWriteSession = async () => {
|
|
118
|
-
const
|
|
119
|
-
if (
|
|
120
|
-
if (
|
|
121
|
-
return
|
|
127
|
+
const currentUser = await storage.getStorageValue(storage.StorageKeys.UserSession);
|
|
128
|
+
if (currentUser?.session?.write) {
|
|
129
|
+
if (currentUser.session.write.expiry > Date.now()) {
|
|
130
|
+
return currentUser.session.write;
|
|
122
131
|
}
|
|
123
132
|
else {
|
|
124
133
|
await storage.removeStorageValue(storage.StorageKeys.ReadWriteSession);
|
|
@@ -127,12 +136,14 @@ class TurnkeyBrowserSDK {
|
|
|
127
136
|
return;
|
|
128
137
|
};
|
|
129
138
|
/**
|
|
139
|
+
* @deprecated This method is deprecated and will be removed in future versions.
|
|
140
|
+
* It has been replaced by the `getReadWriteSession` method.
|
|
130
141
|
* Fetches an auth bundle stored in local storage.
|
|
131
142
|
*
|
|
132
143
|
* @returns {Promise<string | undefined>}
|
|
133
144
|
*/
|
|
134
145
|
this.getAuthBundle = async () => {
|
|
135
|
-
return await storage.getStorageValue(storage.StorageKeys.AuthBundle);
|
|
146
|
+
return await storage.getStorageValue(storage.StorageKeys.AuthBundle);
|
|
136
147
|
};
|
|
137
148
|
/**
|
|
138
149
|
* Fetches the current user's organization details.
|
|
@@ -149,7 +160,7 @@ class TurnkeyBrowserSDK {
|
|
|
149
160
|
* @returns {Promise<User | undefined>}
|
|
150
161
|
*/
|
|
151
162
|
this.getCurrentUser = async () => {
|
|
152
|
-
return await storage.getStorageValue(storage.StorageKeys.
|
|
163
|
+
return await storage.getStorageValue(storage.StorageKeys.UserSession);
|
|
153
164
|
};
|
|
154
165
|
/**
|
|
155
166
|
* Clears out all data pertaining to a user session.
|
|
@@ -159,6 +170,7 @@ class TurnkeyBrowserSDK {
|
|
|
159
170
|
this.logoutUser = async () => {
|
|
160
171
|
await storage.removeStorageValue(storage.StorageKeys.AuthBundle); // DEPRECATED
|
|
161
172
|
await storage.removeStorageValue(storage.StorageKeys.CurrentUser);
|
|
173
|
+
await storage.removeStorageValue(storage.StorageKeys.UserSession);
|
|
162
174
|
await storage.removeStorageValue(storage.StorageKeys.ReadWriteSession);
|
|
163
175
|
return true;
|
|
164
176
|
};
|
|
@@ -166,28 +178,17 @@ class TurnkeyBrowserSDK {
|
|
|
166
178
|
}
|
|
167
179
|
}
|
|
168
180
|
class TurnkeyBrowserClient extends sdkClientBase.TurnkeySDKClientBase {
|
|
169
|
-
constructor(config) {
|
|
181
|
+
constructor(config, authClient) {
|
|
170
182
|
super(config);
|
|
171
183
|
this.login = async (config) => {
|
|
172
184
|
const readOnlySessionResult = await this.createReadOnlySession(config || {});
|
|
173
|
-
|
|
174
|
-
organizationId: readOnlySessionResult.organizationId,
|
|
175
|
-
organizationName: readOnlySessionResult.organizationName,
|
|
176
|
-
};
|
|
177
|
-
const currentUser = {
|
|
178
|
-
userId: readOnlySessionResult.userId,
|
|
179
|
-
username: readOnlySessionResult.username,
|
|
180
|
-
organization: org,
|
|
181
|
-
readOnlySession: {
|
|
182
|
-
session: readOnlySessionResult.session,
|
|
183
|
-
sessionExpiry: Number(readOnlySessionResult.sessionExpiry),
|
|
184
|
-
},
|
|
185
|
-
};
|
|
186
|
-
await storage.setStorageValue(storage.StorageKeys.CurrentUser, currentUser);
|
|
185
|
+
await storage.saveSession(readOnlySessionResult, this.authClient);
|
|
187
186
|
return readOnlySessionResult;
|
|
188
187
|
};
|
|
189
188
|
/**
|
|
190
|
-
* Creates a read-write session. This method infers the current user's organization ID and target userId.
|
|
189
|
+
* Creates a read-write session. This method infers the current user's organization ID and target userId.
|
|
190
|
+
* To be used in conjunction with an `iframeStamper`: the resulting session's credential bundle can be
|
|
191
|
+
* injected into an iframeStamper to create a session that enables both read and write requests.
|
|
191
192
|
*
|
|
192
193
|
* @param email
|
|
193
194
|
* @param targetEmbeddedKey
|
|
@@ -200,18 +201,22 @@ class TurnkeyBrowserClient extends sdkClientBase.TurnkeySDKClientBase {
|
|
|
200
201
|
expirationSeconds,
|
|
201
202
|
userId: userId,
|
|
202
203
|
});
|
|
203
|
-
//
|
|
204
|
-
|
|
205
|
-
|
|
204
|
+
// Ensure session and sessionExpiry are included in the object
|
|
205
|
+
const readWriteSessionResultWithSession = {
|
|
206
|
+
...readWriteSessionResult,
|
|
207
|
+
session: readWriteSessionResult.credentialBundle,
|
|
206
208
|
sessionExpiry: Date.now() + Number(expirationSeconds) * 1000,
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
+
};
|
|
210
|
+
// store auth bundle in local storage
|
|
211
|
+
await storage.saveSession(readWriteSessionResultWithSession, this.authClient);
|
|
212
|
+
return readWriteSessionResultWithSession;
|
|
209
213
|
};
|
|
214
|
+
this.authClient = authClient;
|
|
210
215
|
}
|
|
211
216
|
}
|
|
212
217
|
class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
|
|
213
218
|
constructor(config) {
|
|
214
|
-
super(config);
|
|
219
|
+
super(config, base.AuthClient.Passkey);
|
|
215
220
|
/**
|
|
216
221
|
* Create a passkey for an end-user, taking care of various lower-level details.
|
|
217
222
|
*
|
|
@@ -272,7 +277,11 @@ class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
|
|
|
272
277
|
};
|
|
273
278
|
};
|
|
274
279
|
/**
|
|
275
|
-
* Uses passkey authentication to create a read-write session, via an embedded API key,
|
|
280
|
+
* Uses passkey authentication to create a read-write session, via an embedded API key,
|
|
281
|
+
* and stores + returns the resulting auth bundle that contains the encrypted API key.
|
|
282
|
+
* This auth bundle (also referred to as a credential bundle) can be injected into an `iframeStamper`,
|
|
283
|
+
* resulting in a touch-free authenticator. Unlike `loginWithReadWriteSession`, this method
|
|
284
|
+
* assumes the end-user's organization ID (i.e. the sub-organization ID) is already known.
|
|
276
285
|
*
|
|
277
286
|
* @param userId
|
|
278
287
|
* @param targetEmbeddedKey
|
|
@@ -281,12 +290,16 @@ class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
|
|
|
281
290
|
* @returns {Promise<ReadWriteSession>}
|
|
282
291
|
*/
|
|
283
292
|
this.createPasskeySession = async (userId, targetEmbeddedKey, expirationSeconds = DEFAULT_SESSION_EXPIRATION, organizationId) => {
|
|
284
|
-
const
|
|
285
|
-
|
|
286
|
-
|
|
293
|
+
const user = await storage.getStorageValue(storage.StorageKeys.UserSession);
|
|
294
|
+
organizationId = organizationId ?? user?.organization.organizationId;
|
|
295
|
+
if (!organizationId) {
|
|
296
|
+
throw new Error("Error creating passkey session: Organization ID is required");
|
|
297
|
+
}
|
|
298
|
+
userId = userId ?? user?.userId;
|
|
299
|
+
const { authBundle: credentialBundle, publicKey } = await utils.createEmbeddedAPIKey(targetEmbeddedKey);
|
|
287
300
|
// add API key to Turnkey User
|
|
288
301
|
await this.createApiKeys({
|
|
289
|
-
organizationId
|
|
302
|
+
organizationId,
|
|
290
303
|
userId,
|
|
291
304
|
apiKeys: [
|
|
292
305
|
{
|
|
@@ -297,20 +310,26 @@ class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
|
|
|
297
310
|
},
|
|
298
311
|
],
|
|
299
312
|
});
|
|
300
|
-
const
|
|
301
|
-
|
|
302
|
-
|
|
313
|
+
const expiry = Date.now() + Number(expirationSeconds) * 1000;
|
|
314
|
+
await storage.saveSession({
|
|
315
|
+
organizationId,
|
|
316
|
+
organizationName: user?.organization.organizationName ?? "",
|
|
317
|
+
userId,
|
|
318
|
+
username: user?.username ?? "",
|
|
319
|
+
credentialBundle,
|
|
320
|
+
sessionExpiry: expiry,
|
|
321
|
+
}, this.authClient);
|
|
322
|
+
return {
|
|
323
|
+
credentialBundle,
|
|
324
|
+
expiry,
|
|
303
325
|
};
|
|
304
|
-
// store auth bundle in local storage
|
|
305
|
-
await storage.setStorageValue(storage.StorageKeys.ReadWriteSession, readWriteSession);
|
|
306
|
-
return readWriteSession;
|
|
307
326
|
};
|
|
308
327
|
this.rpId = config.stamper.rpId;
|
|
309
328
|
}
|
|
310
329
|
}
|
|
311
330
|
class TurnkeyIframeClient extends TurnkeyBrowserClient {
|
|
312
331
|
constructor(config) {
|
|
313
|
-
super(config);
|
|
332
|
+
super(config, base.AuthClient.Iframe);
|
|
314
333
|
this.injectCredentialBundle = async (credentialBundle) => {
|
|
315
334
|
const stamper = this.config.stamper;
|
|
316
335
|
return await stamper.injectCredentialBundle(credentialBundle);
|
|
@@ -338,9 +357,22 @@ class TurnkeyIframeClient extends TurnkeyBrowserClient {
|
|
|
338
357
|
this.iframePublicKey = config.stamper.iframePublicKey;
|
|
339
358
|
}
|
|
340
359
|
}
|
|
360
|
+
class TurnkeyWalletClient extends TurnkeyBrowserClient {
|
|
361
|
+
constructor(config) {
|
|
362
|
+
super(config, base.AuthClient.Wallet);
|
|
363
|
+
this.wallet = config.wallet;
|
|
364
|
+
}
|
|
365
|
+
async getPublicKey() {
|
|
366
|
+
return this.wallet.getPublicKey();
|
|
367
|
+
}
|
|
368
|
+
getWalletInterface() {
|
|
369
|
+
return this.wallet;
|
|
370
|
+
}
|
|
371
|
+
}
|
|
341
372
|
|
|
342
373
|
exports.TurnkeyBrowserClient = TurnkeyBrowserClient;
|
|
343
374
|
exports.TurnkeyBrowserSDK = TurnkeyBrowserSDK;
|
|
344
375
|
exports.TurnkeyIframeClient = TurnkeyIframeClient;
|
|
345
376
|
exports.TurnkeyPasskeyClient = TurnkeyPasskeyClient;
|
|
377
|
+
exports.TurnkeyWalletClient = TurnkeyWalletClient;
|
|
346
378
|
//# sourceMappingURL=sdk-client.js.map
|
package/dist/sdk-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-client.js","sources":["../src/sdk-client.ts"],"sourcesContent":[null],"names":["WindowWrapper","webauthnStamper","WebauthnStamper","iframeStamper","IframeStamper","VERSION","TurnkeyRequestError","getStorageValue","StorageKeys","removeStorageValue","TurnkeySDKClientBase","setStorageValue","generateRandomBuffer","base64UrlEncode","getWebAuthnAttestation","createEmbeddedAPIKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdk-client.js","sources":["../src/sdk-client.ts"],"sourcesContent":[null],"names":["WindowWrapper","webauthnStamper","WebauthnStamper","iframeStamper","IframeStamper","WalletStamper","VERSION","TurnkeyRequestError","getStorageValue","StorageKeys","removeStorageValue","TurnkeySDKClientBase","saveSession","AuthClient","generateRandomBuffer","base64UrlEncode","getWebAuthnAttestation","createEmbeddedAPIKey"],"mappings":"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"}
|