@turnkey/sdk-browser 1.16.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +53 -0
- package/dist/__clients__/base-client.d.ts +7 -0
- package/dist/__clients__/base-client.d.ts.map +1 -0
- package/dist/__clients__/base-client.js +13 -0
- package/dist/__clients__/base-client.js.map +1 -0
- package/dist/__clients__/base-client.mjs +11 -0
- package/dist/__clients__/base-client.mjs.map +1 -0
- package/dist/__clients__/browser-clients.d.ts +243 -0
- package/dist/__clients__/browser-clients.d.ts.map +1 -0
- package/dist/__clients__/browser-clients.js +633 -0
- package/dist/__clients__/browser-clients.js.map +1 -0
- package/dist/__clients__/browser-clients.mjs +628 -0
- package/dist/__clients__/browser-clients.mjs.map +1 -0
- package/dist/__generated__/sdk-client-base.d.ts.map +1 -1
- package/dist/__generated__/sdk-client-base.js +106 -110
- package/dist/__generated__/sdk-client-base.js.map +1 -1
- package/dist/__generated__/sdk-client-base.mjs +106 -110
- package/dist/__generated__/sdk-client-base.mjs.map +1 -1
- 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 +12 -0
- package/dist/__types__/base.d.ts.map +1 -1
- package/dist/__types__/base.js +5 -0
- package/dist/__types__/base.js.map +1 -1
- package/dist/__types__/base.mjs +6 -1
- package/dist/__types__/base.mjs.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +6 -0
- package/dist/constants.js.map +1 -0
- package/dist/constants.mjs +4 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -2
- package/dist/index.mjs.map +1 -1
- package/dist/models.d.ts +1 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/sdk-client.d.ts +14 -186
- package/dist/sdk-client.d.ts.map +1 -1
- package/dist/sdk-client.js +75 -437
- package/dist/sdk-client.js.map +1 -1
- package/dist/sdk-client.mjs +69 -431
- package/dist/sdk-client.mjs.map +1 -1
- package/dist/storage.d.ts +23 -3
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +17 -0
- package/dist/storage.js.map +1 -1
- package/dist/storage.mjs +17 -1
- package/dist/storage.mjs.map +1 -1
- package/package.json +6 -5
package/dist/sdk-client.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { KeyFormat } from "@turnkey/iframe-stamper";
|
|
2
1
|
import { type WalletInterface } from "@turnkey/wallet-stamper";
|
|
3
|
-
import { type
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
2
|
+
import { type TurnkeySDKBrowserConfig, Stamper, IframeClientParams, PasskeyClientParams } from "./__types__/base";
|
|
3
|
+
import type { User, SubOrganization, ReadWriteSession } from "@models";
|
|
4
|
+
import { Session } from "@storage";
|
|
5
|
+
import { TurnkeyBrowserClient, TurnkeyIframeClient, TurnkeyPasskeyClient, TurnkeyWalletClient } from "./__clients__/browser-clients";
|
|
7
6
|
export interface OauthProvider {
|
|
8
7
|
providerName: string;
|
|
9
8
|
oidcToken: string;
|
|
@@ -24,52 +23,16 @@ export interface Authenticator {
|
|
|
24
23
|
transports: ("AUTHENTICATOR_TRANSPORT_BLE" | "AUTHENTICATOR_TRANSPORT_INTERNAL" | "AUTHENTICATOR_TRANSPORT_NFC" | "AUTHENTICATOR_TRANSPORT_USB" | "AUTHENTICATOR_TRANSPORT_HYBRID")[];
|
|
25
24
|
};
|
|
26
25
|
}
|
|
27
|
-
interface UpdateUserAuthParams {
|
|
28
|
-
userId: string;
|
|
29
|
-
phoneNumber?: string | null;
|
|
30
|
-
email?: string | null;
|
|
31
|
-
authenticators?: {
|
|
32
|
-
add?: Authenticator[];
|
|
33
|
-
deleteIds?: string[];
|
|
34
|
-
};
|
|
35
|
-
oauthProviders?: {
|
|
36
|
-
add?: OauthProvider[];
|
|
37
|
-
deleteIds?: string[];
|
|
38
|
-
};
|
|
39
|
-
apiKeys?: {
|
|
40
|
-
add?: ApiKey[];
|
|
41
|
-
deleteIds?: string[];
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
interface DeleteUserAuthParams {
|
|
45
|
-
userId: string;
|
|
46
|
-
phoneNumber?: boolean;
|
|
47
|
-
email?: boolean;
|
|
48
|
-
authenticatorIds?: string[];
|
|
49
|
-
oauthProviderIds?: string[];
|
|
50
|
-
apiKeyIds?: string[];
|
|
51
|
-
}
|
|
52
|
-
interface AddUserAuthParams {
|
|
53
|
-
userId: string;
|
|
54
|
-
phoneNumber?: string;
|
|
55
|
-
email?: string;
|
|
56
|
-
authenticators?: Authenticator[];
|
|
57
|
-
oauthProviders?: OauthProvider[];
|
|
58
|
-
apiKeys?: ApiKey[];
|
|
59
|
-
}
|
|
60
26
|
export declare class TurnkeyBrowserSDK {
|
|
61
27
|
config: TurnkeySDKBrowserConfig;
|
|
62
28
|
protected stamper: Stamper | undefined;
|
|
63
29
|
constructor(config: TurnkeySDKBrowserConfig);
|
|
64
30
|
/**
|
|
65
|
-
* Creates a passkey client. The parameters
|
|
66
|
-
* @param
|
|
67
|
-
* @param timeout optional timeout (defaults to 5mins)
|
|
68
|
-
* @param userVerification optional UV flag (defaults to "preferred")
|
|
69
|
-
* @param allowCredentials optional allowCredentials array (defaults to empty array)
|
|
31
|
+
* Creates a passkey client. The parameters override the default values passed to the underlying Turnkey `WebauthnStamper`
|
|
32
|
+
* @param PasskeyClientParams
|
|
70
33
|
* @returns new TurnkeyPasskeyClient
|
|
71
34
|
*/
|
|
72
|
-
passkeyClient: (
|
|
35
|
+
passkeyClient: (params?: PasskeyClientParams) => TurnkeyPasskeyClient;
|
|
73
36
|
iframeClient: (params: IframeClientParams) => Promise<TurnkeyIframeClient>;
|
|
74
37
|
walletClient: (wallet: WalletInterface) => TurnkeyWalletClient;
|
|
75
38
|
serverSign: <TResponseType>(methodName: string, params: any[], serverSignUrl?: string) => Promise<TResponseType>;
|
|
@@ -81,18 +44,16 @@ export declare class TurnkeyBrowserSDK {
|
|
|
81
44
|
currentUserSession: () => Promise<TurnkeyBrowserClient | undefined>;
|
|
82
45
|
/**
|
|
83
46
|
* If there is a valid, current read-session, this will return an auth bundle and its expiration. This auth bundle can be used in conjunction with an iframeStamper to create a read + write session.
|
|
84
|
-
*
|
|
47
|
+
* @deprecated use `getSession` instead
|
|
85
48
|
* @returns {Promise<ReadWriteSession | undefined>}
|
|
86
49
|
*/
|
|
87
50
|
getReadWriteSession: () => Promise<ReadWriteSession | undefined>;
|
|
88
51
|
/**
|
|
89
|
-
*
|
|
90
|
-
* It has been replaced by the `getReadWriteSession` method.
|
|
91
|
-
* Fetches an auth bundle stored in local storage.
|
|
52
|
+
* If there is a valid, active READ_WRITE session, this will return it
|
|
92
53
|
*
|
|
93
|
-
* @returns {Promise<
|
|
54
|
+
* @returns {Promise<Session | undefined>}
|
|
94
55
|
*/
|
|
95
|
-
|
|
56
|
+
getSession: () => Promise<Session | undefined>;
|
|
96
57
|
/**
|
|
97
58
|
* Fetches the current user's organization details.
|
|
98
59
|
*
|
|
@@ -106,144 +67,11 @@ export declare class TurnkeyBrowserSDK {
|
|
|
106
67
|
*/
|
|
107
68
|
getCurrentUser: () => Promise<User | undefined>;
|
|
108
69
|
/**
|
|
109
|
-
* Clears out all data pertaining to
|
|
110
|
-
*
|
|
111
|
-
* @returns {Promise<boolean>}
|
|
112
|
-
*/
|
|
113
|
-
logoutUser: () => Promise<boolean>;
|
|
114
|
-
}
|
|
115
|
-
export declare class TurnkeyBrowserClient extends TurnkeySDKClientBase {
|
|
116
|
-
authClient?: AuthClient | undefined;
|
|
117
|
-
constructor(config: TurnkeySDKClientConfig, authClient?: AuthClient);
|
|
118
|
-
login: (config?: {
|
|
119
|
-
organizationId?: string;
|
|
120
|
-
}) => Promise<SdkApiTypes.TCreateReadOnlySessionResponse>;
|
|
121
|
-
/**
|
|
122
|
-
* Creates a read-write session. This method infers the current user's organization ID and target userId.
|
|
123
|
-
* To be used in conjunction with an `iframeStamper`: the resulting session's credential bundle can be
|
|
124
|
-
* injected into an iframeStamper to create a session that enables both read and write requests.
|
|
125
|
-
*
|
|
126
|
-
* @param targetEmbeddedKey
|
|
127
|
-
* @param expirationSeconds
|
|
128
|
-
* @param userId
|
|
129
|
-
* @returns {Promise<SdkApiTypes.TCreateReadWriteSessionResponse>}
|
|
130
|
-
*/
|
|
131
|
-
loginWithReadWriteSession: (targetEmbeddedKey: string, expirationSeconds?: string, userId?: string) => Promise<SdkApiTypes.TCreateReadWriteSessionResponse>;
|
|
132
|
-
/**
|
|
133
|
-
* Logs in with an existing auth bundle. this bundle enables both read and write requests.
|
|
70
|
+
* Clears out all data pertaining to an end user session.
|
|
134
71
|
*
|
|
135
|
-
* @param credentialBundle
|
|
136
|
-
* @param expirationSeconds
|
|
137
72
|
* @returns {Promise<boolean>}
|
|
138
73
|
*/
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Removes authentication factors from an end user.
|
|
142
|
-
*
|
|
143
|
-
* This function allows selectively removing:
|
|
144
|
-
* - Phone number
|
|
145
|
-
* - Email
|
|
146
|
-
* - Authenticators (by ID)
|
|
147
|
-
* - OAuth providers (by ID)
|
|
148
|
-
* - API keys (by ID)
|
|
149
|
-
*
|
|
150
|
-
* All removal operations are executed in parallel if multiple
|
|
151
|
-
* parameters are provided.
|
|
152
|
-
*
|
|
153
|
-
* @param params - A structured object containing all the removal parameters
|
|
154
|
-
* @param params.userId - Unique identifier of the user
|
|
155
|
-
* @param params.phoneNumber - true to remove the phone number
|
|
156
|
-
* @param params.email - true to remove the email
|
|
157
|
-
* @param params.authenticatorIds - Array of authenticator IDs to remove
|
|
158
|
-
* @param params.oauthProviderIds - Array of OAuth provider IDs to remove
|
|
159
|
-
* @param params.apiKeyIds - Array of API key IDs to remove
|
|
160
|
-
* @returns A promise that resolves to an array of results from each removal operation
|
|
161
|
-
*/
|
|
162
|
-
deleteUserAuth: (params: DeleteUserAuthParams) => Promise<any[]>;
|
|
163
|
-
/**
|
|
164
|
-
* Adds or updates authentication factors for an end user.
|
|
165
|
-
*
|
|
166
|
-
* This function allows selectively adding:
|
|
167
|
-
* - Phone number
|
|
168
|
-
* - Email
|
|
169
|
-
* - Authenticators
|
|
170
|
-
* - OAuth providers
|
|
171
|
-
* - API keys
|
|
172
|
-
*
|
|
173
|
-
* All additions/updates are executed in parallel if multiple
|
|
174
|
-
* parameters are provided.
|
|
175
|
-
*
|
|
176
|
-
* @param params - A structured object containing all the addition/update parameters
|
|
177
|
-
* @param params.userId - Unique identifier of the user
|
|
178
|
-
* @param params.phoneNumber - New phone number for the user
|
|
179
|
-
* @param params.email - New email address for the user
|
|
180
|
-
* @param params.authenticators - Array of authenticator objects to create
|
|
181
|
-
* @param params.oauthProviders - Array of OAuth provider objects to create
|
|
182
|
-
* @param params.apiKeys - Array of API key objects to create
|
|
183
|
-
* @returns A promise that resolves to an array of results from each addition or update
|
|
184
|
-
*/
|
|
185
|
-
addUserAuth: (params: AddUserAuthParams) => Promise<any[]>;
|
|
186
|
-
/**
|
|
187
|
-
* Comprehensive authentication update for an end user.
|
|
188
|
-
* Combines add/update and delete operations into a single call.
|
|
189
|
-
*
|
|
190
|
-
* The behavior is driven by whether values are set to:
|
|
191
|
-
* - A string/array (to create or update)
|
|
192
|
-
* - `null` or an array of IDs (to remove)
|
|
193
|
-
*
|
|
194
|
-
* All operations are executed in parallel where applicable.
|
|
195
|
-
*
|
|
196
|
-
* @param params - A structured object containing all the update parameters
|
|
197
|
-
* @param params.userId - Unique identifier of the user
|
|
198
|
-
* @param params.phoneNumber - String to set (new phone) or `null` to remove
|
|
199
|
-
* @param params.email - String to set (new email) or `null` to remove
|
|
200
|
-
* @param params.authenticators - Object describing authenticators to add or remove
|
|
201
|
-
* @param params.oauthProviders - Object describing OAuth providers to add or remove
|
|
202
|
-
* @param params.apiKeys - Object describing API keys to add or remove
|
|
203
|
-
*
|
|
204
|
-
* @returns A promise that resolves to a boolean indicating overall success
|
|
205
|
-
*/
|
|
206
|
-
updateUserAuth(params: UpdateUserAuthParams): Promise<boolean>;
|
|
207
|
-
}
|
|
208
|
-
export declare class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
|
|
209
|
-
rpId: string;
|
|
210
|
-
constructor(config: TurnkeySDKClientConfig);
|
|
211
|
-
/**
|
|
212
|
-
* Create a passkey for an end-user, taking care of various lower-level details.
|
|
213
|
-
*
|
|
214
|
-
* @returns {Promise<Passkey>}
|
|
215
|
-
*/
|
|
216
|
-
createUserPasskey: (config?: Record<any, any>) => Promise<Passkey>;
|
|
217
|
-
/**
|
|
218
|
-
* Uses passkey authentication to create a read-write session, via an embedded API key,
|
|
219
|
-
* and stores + returns the resulting auth bundle that contains the encrypted API key.
|
|
220
|
-
* This auth bundle (also referred to as a credential bundle) can be injected into an `iframeStamper`,
|
|
221
|
-
* resulting in a touch-free authenticator. Unlike `loginWithReadWriteSession`, this method
|
|
222
|
-
* assumes the end-user's organization ID (i.e. the sub-organization ID) is already known.
|
|
223
|
-
*
|
|
224
|
-
* @param userId
|
|
225
|
-
* @param targetEmbeddedKey
|
|
226
|
-
* @param expirationSeconds
|
|
227
|
-
* @param curveType
|
|
228
|
-
* @returns {Promise<ReadWriteSession>}
|
|
229
|
-
*/
|
|
230
|
-
createPasskeySession: (userId: string, targetEmbeddedKey: string, expirationSeconds?: string, organizationId?: string) => Promise<ReadWriteSession>;
|
|
231
|
-
}
|
|
232
|
-
export declare class TurnkeyIframeClient extends TurnkeyBrowserClient {
|
|
233
|
-
iframePublicKey: string | null;
|
|
234
|
-
constructor(config: TurnkeySDKClientConfig);
|
|
235
|
-
injectCredentialBundle: (credentialBundle: string) => Promise<boolean>;
|
|
236
|
-
injectWalletExportBundle: (credentialBundle: string, organizationId: string) => Promise<boolean>;
|
|
237
|
-
injectKeyExportBundle: (credentialBundle: string, organizationId: string, keyFormat?: KeyFormat | undefined) => Promise<boolean>;
|
|
238
|
-
injectImportBundle: (bundle: string, organizationId: string, userId: string) => Promise<boolean>;
|
|
239
|
-
extractWalletEncryptedBundle: () => Promise<string>;
|
|
240
|
-
extractKeyEncryptedBundle: () => Promise<string>;
|
|
241
|
-
}
|
|
242
|
-
export declare class TurnkeyWalletClient extends TurnkeyBrowserClient {
|
|
243
|
-
private wallet;
|
|
244
|
-
constructor(config: TurnkeyWalletClientConfig);
|
|
245
|
-
getPublicKey(): Promise<string>;
|
|
246
|
-
getWalletInterface(): WalletInterface;
|
|
74
|
+
logout: () => Promise<boolean>;
|
|
247
75
|
}
|
|
248
|
-
export {};
|
|
76
|
+
export { TurnkeyBrowserClient, TurnkeyIframeClient, TurnkeyPasskeyClient, TurnkeyWalletClient, };
|
|
249
77
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"sdk-client.d.ts","sourceRoot":"","sources":["../src/sdk-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM9E,OAAO,EAEL,KAAK,uBAAuB,EAE5B,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,EACL,OAAO,EAIR,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AAGvC,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EACL,oBAAoB,GACpB,yBAAyB,GACzB,uBAAuB,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,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;AAED,qBAAa,iBAAiB;IAC5B,MAAM,EAAE,uBAAuB,CAAC;IAEhC,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;gBAE3B,MAAM,EAAE,uBAAuB;IAI3C;;;;OAIG;IACH,aAAa,YAAa,mBAAmB,KAAG,oBAAoB,CA0BlE;IAEF,YAAY,WACF,kBAAkB,KACzB,QAAQ,mBAAmB,CAAC,CAyB7B;IAEF,YAAY,WAAY,eAAe,KAAG,mBAAmB,CAO3D;IAEF,UAAU,8BACI,MAAM,UACV,GAAG,EAAE,kBACG,MAAM,4BAoCtB;IAEF;;;;OAIG;IACH,kBAAkB,QAAa,QAAQ,oBAAoB,GAAG,SAAS,CAAC,CAmBtE;IAEF;;;;OAIG;IACH,mBAAmB,QAAa,QAAQ,gBAAgB,GAAG,SAAS,CAAC,CAanE;IAEF;;;;OAIG;IACH,UAAU,QAAa,QAAQ,OAAO,GAAG,SAAS,CAAC,CAajD;IAEF;;;;OAIG;IACH,yBAAyB,QAAa,QACpC,eAAe,GAAG,SAAS,CAC5B,CAGC;IAEF;;;;OAIG;IACH,cAAc,QAAa,QAAQ,IAAI,GAAG,SAAS,CAAC,CA+BlD;IAEF;;;;OAIG;IACH,MAAM,QAAa,QAAQ,OAAO,CAAC,CAQjC;CACH;AAED,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,CAAC"}
|