@getpara/user-management-client 2.0.0-dev.3 → 2.0.0-dev.7
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/dist/cjs/client.js +88 -10
- package/dist/cjs/types/auth.js +9 -0
- package/dist/esm/client.js +88 -10
- package/dist/esm/types/auth.js +8 -0
- package/dist/types/client.d.ts +67 -7
- package/dist/types/types/auth.d.ts +27 -5
- package/package.json +2 -2
package/dist/cjs/client.js
CHANGED
|
@@ -132,9 +132,13 @@ class Client {
|
|
|
132
132
|
});
|
|
133
133
|
return res.data;
|
|
134
134
|
});
|
|
135
|
-
this.verifyTelegram = (
|
|
135
|
+
this.verifyTelegram = (_0) => __async(this, [_0], function* ({
|
|
136
|
+
authObject,
|
|
137
|
+
sessionLookupId
|
|
138
|
+
}) {
|
|
136
139
|
return (yield this.baseRequest.post("/users/telegram/v2", {
|
|
137
|
-
authObject
|
|
140
|
+
authObject,
|
|
141
|
+
sessionLookupId
|
|
138
142
|
})).data;
|
|
139
143
|
});
|
|
140
144
|
this.verifyOAuth = () => __async(this, null, function* () {
|
|
@@ -151,8 +155,16 @@ class Client {
|
|
|
151
155
|
});
|
|
152
156
|
return res.data;
|
|
153
157
|
});
|
|
154
|
-
this.
|
|
155
|
-
const res = yield this.baseRequest.post(
|
|
158
|
+
this.verifyAccount = (userId, body) => __async(this, null, function* () {
|
|
159
|
+
const res = yield this.baseRequest.post(
|
|
160
|
+
`/users/${userId}/verify`,
|
|
161
|
+
body
|
|
162
|
+
);
|
|
163
|
+
return res.data;
|
|
164
|
+
});
|
|
165
|
+
// POST /users/send-login-code
|
|
166
|
+
this.sendLoginVerificationCode = (auth, isRecovery) => __async(this, null, function* () {
|
|
167
|
+
const res = yield this.baseRequest.post(`/users/send-login-code`, __spreadProps(__spreadValues({}, auth), { isRecovery }));
|
|
156
168
|
return res.data;
|
|
157
169
|
});
|
|
158
170
|
this.getLinkedAccounts = (_0) => __async(this, [_0], function* ({
|
|
@@ -212,7 +224,10 @@ class Client {
|
|
|
212
224
|
return res;
|
|
213
225
|
});
|
|
214
226
|
this.verifyExternalWallet = (userId, body) => __async(this, null, function* () {
|
|
215
|
-
const res = yield this.baseRequest.post(
|
|
227
|
+
const res = yield this.baseRequest.post(
|
|
228
|
+
`/users/${userId}/external-wallets/verify/v2`,
|
|
229
|
+
body
|
|
230
|
+
);
|
|
216
231
|
return res.data;
|
|
217
232
|
});
|
|
218
233
|
// POST /users/:userId/biometrics/key
|
|
@@ -258,11 +273,26 @@ class Client {
|
|
|
258
273
|
const res = yield this.baseRequest.post(`/touch?regenerate=${!!regenerate}`);
|
|
259
274
|
return res.data;
|
|
260
275
|
});
|
|
261
|
-
// GET /
|
|
276
|
+
// GET /sessions/:sessionLookupId/origin
|
|
262
277
|
this.sessionOrigin = (sessionLookupId) => __async(this, null, function* () {
|
|
263
278
|
const res = yield this.baseRequest.get(`/sessions/${sessionLookupId}/origin`);
|
|
264
279
|
return res.data;
|
|
265
280
|
});
|
|
281
|
+
// GET /sessions/:sessionLookupId/login-method
|
|
282
|
+
this.sessionLoginMethod = (sessionLookupId) => __async(this, null, function* () {
|
|
283
|
+
const res = yield this.baseRequest.get(`/sessions/${sessionLookupId}/login-method`);
|
|
284
|
+
return res.data;
|
|
285
|
+
});
|
|
286
|
+
// GET /sessions/:sessionLookupId/auth-verified
|
|
287
|
+
this.sessionAuthVerified = (sessionLookupId) => __async(this, null, function* () {
|
|
288
|
+
const res = yield this.baseRequest.get(`/sessions/${sessionLookupId}/auth-verified`);
|
|
289
|
+
return res.data;
|
|
290
|
+
});
|
|
291
|
+
// GET /sessions/:sessionLookupId/auth
|
|
292
|
+
this.sessionAuth = (sessionLookupId) => __async(this, null, function* () {
|
|
293
|
+
const res = yield this.baseRequest.get(`/sessions/${sessionLookupId}/auth`);
|
|
294
|
+
return res.data;
|
|
295
|
+
});
|
|
266
296
|
// POST /biometrics/verify
|
|
267
297
|
this.verifyWebChallenge = (partnerId, body) => __async(this, null, function* () {
|
|
268
298
|
const res = yield this.baseRequest.post(`/biometrics/verify`, body, {
|
|
@@ -425,6 +455,43 @@ class Client {
|
|
|
425
455
|
this.trackReactSdkAnalytics = (opts) => __async(this, null, function* () {
|
|
426
456
|
yield this.baseRequest.post("/partners/analytics/react-sdk", opts);
|
|
427
457
|
});
|
|
458
|
+
// ENCLAVE METHODS
|
|
459
|
+
/**
|
|
460
|
+
* Get the enclave's public key for encryption
|
|
461
|
+
*/
|
|
462
|
+
this.getEnclavePublicKey = () => __async(this, null, function* () {
|
|
463
|
+
const res = yield this.baseRequest.get(
|
|
464
|
+
"/enclave/public-key"
|
|
465
|
+
);
|
|
466
|
+
return res.data;
|
|
467
|
+
});
|
|
468
|
+
/**
|
|
469
|
+
* Persist encrypted key shares to the enclave
|
|
470
|
+
* @param encryptedPayload JSON string containing the encrypted ECIES payload
|
|
471
|
+
*/
|
|
472
|
+
this.persistEnclaveShares = (encryptedPayload) => __async(this, null, function* () {
|
|
473
|
+
const body = { encryptedPayload };
|
|
474
|
+
const res = yield this.baseRequest.post("/enclave/key-shares", body);
|
|
475
|
+
return res.data;
|
|
476
|
+
});
|
|
477
|
+
/**
|
|
478
|
+
* Retrieve encrypted key shares from the enclave
|
|
479
|
+
* @param encryptedPayload JSON string containing the encrypted ECIES query
|
|
480
|
+
*/
|
|
481
|
+
this.retrieveEnclaveShares = (encryptedPayload) => __async(this, null, function* () {
|
|
482
|
+
const res = yield this.baseRequest.get(
|
|
483
|
+
`/enclave/key-shares?encryptedPayload=${encodeURIComponent(encryptedPayload)}`
|
|
484
|
+
);
|
|
485
|
+
return res.data;
|
|
486
|
+
});
|
|
487
|
+
this.issueEnclaveJwt = (encryptedPayload) => __async(this, null, function* () {
|
|
488
|
+
const res = yield this.baseRequest.post(`/enclave/jwt/issue`, { encryptedPayload });
|
|
489
|
+
return res.data;
|
|
490
|
+
});
|
|
491
|
+
this.refreshEnclaveJwt = (encryptedPayload) => __async(this, null, function* () {
|
|
492
|
+
const res = yield this.baseRequest.post(`/enclave/jwt/refresh`, { encryptedPayload });
|
|
493
|
+
return res.data;
|
|
494
|
+
});
|
|
428
495
|
const headers = __spreadValues(__spreadValues({}, apiKey && { [import_consts.API_KEY_HEADER_NAME]: apiKey }), partnerId && { [import_consts.PARTNER_ID_HEADER_NAME]: partnerId });
|
|
429
496
|
const axiosConfig = {
|
|
430
497
|
baseURL: userManagementHost,
|
|
@@ -600,8 +667,8 @@ class Client {
|
|
|
600
667
|
});
|
|
601
668
|
}
|
|
602
669
|
getFarcasterAuthStatus() {
|
|
603
|
-
return __async(this,
|
|
604
|
-
const res = yield this.baseRequest.post(`/auth/farcaster/status/v2
|
|
670
|
+
return __async(this, arguments, function* ({ sessionLookupId } = {}) {
|
|
671
|
+
const res = yield this.baseRequest.post(`/auth/farcaster/status/v2`, { sessionLookupId });
|
|
605
672
|
return res.data;
|
|
606
673
|
});
|
|
607
674
|
}
|
|
@@ -911,6 +978,17 @@ class Client {
|
|
|
911
978
|
return res.data;
|
|
912
979
|
});
|
|
913
980
|
}
|
|
981
|
+
getSupportedAuthMethodsV2(auth) {
|
|
982
|
+
return __async(this, null, function* () {
|
|
983
|
+
const res = yield this.baseRequest.get(
|
|
984
|
+
"/users/supported-auth-methods/v2",
|
|
985
|
+
{
|
|
986
|
+
params: __spreadValues({}, auth)
|
|
987
|
+
}
|
|
988
|
+
);
|
|
989
|
+
return res.data;
|
|
990
|
+
});
|
|
991
|
+
}
|
|
914
992
|
getPasswords(auth) {
|
|
915
993
|
return __async(this, null, function* () {
|
|
916
994
|
const res = yield this.baseRequest.get("/users/passwords", {
|
|
@@ -930,9 +1008,9 @@ class Client {
|
|
|
930
1008
|
return res;
|
|
931
1009
|
});
|
|
932
1010
|
}
|
|
933
|
-
getEncryptedWalletPrivateKey(passwordId) {
|
|
1011
|
+
getEncryptedWalletPrivateKey(passwordId, sessionLookupId) {
|
|
934
1012
|
return __async(this, null, function* () {
|
|
935
|
-
const query = new URLSearchParams({ passwordId }).toString();
|
|
1013
|
+
const query = new URLSearchParams({ passwordId, sessionLookupId }).toString();
|
|
936
1014
|
const res = yield this.baseRequest.get(`/encrypted-wallet-private-keys?${query}`);
|
|
937
1015
|
return res;
|
|
938
1016
|
});
|
package/dist/cjs/types/auth.js
CHANGED
|
@@ -22,6 +22,7 @@ __export(auth_exports, {
|
|
|
22
22
|
EncryptorType: () => EncryptorType,
|
|
23
23
|
KeyShareType: () => KeyShareType,
|
|
24
24
|
LINKED_ACCOUNT_TYPES: () => LINKED_ACCOUNT_TYPES,
|
|
25
|
+
LegacyAuthMethod: () => LegacyAuthMethod,
|
|
25
26
|
OAUTH_METHODS: () => OAUTH_METHODS,
|
|
26
27
|
OAuthMethod: () => OAuthMethod,
|
|
27
28
|
PasswordStatus: () => PasswordStatus,
|
|
@@ -95,8 +96,15 @@ const LINKED_ACCOUNT_TYPES = [
|
|
|
95
96
|
var AuthMethod = /* @__PURE__ */ ((AuthMethod2) => {
|
|
96
97
|
AuthMethod2["PASSWORD"] = "PASSWORD";
|
|
97
98
|
AuthMethod2["PASSKEY"] = "PASSKEY";
|
|
99
|
+
AuthMethod2["PIN"] = "PIN";
|
|
100
|
+
AuthMethod2["SLO"] = "SLO";
|
|
98
101
|
return AuthMethod2;
|
|
99
102
|
})(AuthMethod || {});
|
|
103
|
+
var LegacyAuthMethod = /* @__PURE__ */ ((LegacyAuthMethod2) => {
|
|
104
|
+
LegacyAuthMethod2["PASSWORD"] = "PASSWORD";
|
|
105
|
+
LegacyAuthMethod2["BIOMETRIC"] = "BIOMETRIC";
|
|
106
|
+
return LegacyAuthMethod2;
|
|
107
|
+
})(LegacyAuthMethod || {});
|
|
100
108
|
// Annotate the CommonJS export names for ESM import in node:
|
|
101
109
|
0 && (module.exports = {
|
|
102
110
|
AUTH_TYPES,
|
|
@@ -104,6 +112,7 @@ var AuthMethod = /* @__PURE__ */ ((AuthMethod2) => {
|
|
|
104
112
|
EncryptorType,
|
|
105
113
|
KeyShareType,
|
|
106
114
|
LINKED_ACCOUNT_TYPES,
|
|
115
|
+
LegacyAuthMethod,
|
|
107
116
|
OAUTH_METHODS,
|
|
108
117
|
OAuthMethod,
|
|
109
118
|
PasswordStatus,
|
package/dist/esm/client.js
CHANGED
|
@@ -55,9 +55,13 @@ class Client {
|
|
|
55
55
|
});
|
|
56
56
|
return res.data;
|
|
57
57
|
});
|
|
58
|
-
this.verifyTelegram = (
|
|
58
|
+
this.verifyTelegram = (_0) => __async(this, [_0], function* ({
|
|
59
|
+
authObject,
|
|
60
|
+
sessionLookupId
|
|
61
|
+
}) {
|
|
59
62
|
return (yield this.baseRequest.post("/users/telegram/v2", {
|
|
60
|
-
authObject
|
|
63
|
+
authObject,
|
|
64
|
+
sessionLookupId
|
|
61
65
|
})).data;
|
|
62
66
|
});
|
|
63
67
|
this.verifyOAuth = () => __async(this, null, function* () {
|
|
@@ -74,8 +78,16 @@ class Client {
|
|
|
74
78
|
});
|
|
75
79
|
return res.data;
|
|
76
80
|
});
|
|
77
|
-
this.
|
|
78
|
-
const res = yield this.baseRequest.post(
|
|
81
|
+
this.verifyAccount = (userId, body) => __async(this, null, function* () {
|
|
82
|
+
const res = yield this.baseRequest.post(
|
|
83
|
+
`/users/${userId}/verify`,
|
|
84
|
+
body
|
|
85
|
+
);
|
|
86
|
+
return res.data;
|
|
87
|
+
});
|
|
88
|
+
// POST /users/send-login-code
|
|
89
|
+
this.sendLoginVerificationCode = (auth, isRecovery) => __async(this, null, function* () {
|
|
90
|
+
const res = yield this.baseRequest.post(`/users/send-login-code`, __spreadProps(__spreadValues({}, auth), { isRecovery }));
|
|
79
91
|
return res.data;
|
|
80
92
|
});
|
|
81
93
|
this.getLinkedAccounts = (_0) => __async(this, [_0], function* ({
|
|
@@ -135,7 +147,10 @@ class Client {
|
|
|
135
147
|
return res;
|
|
136
148
|
});
|
|
137
149
|
this.verifyExternalWallet = (userId, body) => __async(this, null, function* () {
|
|
138
|
-
const res = yield this.baseRequest.post(
|
|
150
|
+
const res = yield this.baseRequest.post(
|
|
151
|
+
`/users/${userId}/external-wallets/verify/v2`,
|
|
152
|
+
body
|
|
153
|
+
);
|
|
139
154
|
return res.data;
|
|
140
155
|
});
|
|
141
156
|
// POST /users/:userId/biometrics/key
|
|
@@ -181,11 +196,26 @@ class Client {
|
|
|
181
196
|
const res = yield this.baseRequest.post(`/touch?regenerate=${!!regenerate}`);
|
|
182
197
|
return res.data;
|
|
183
198
|
});
|
|
184
|
-
// GET /
|
|
199
|
+
// GET /sessions/:sessionLookupId/origin
|
|
185
200
|
this.sessionOrigin = (sessionLookupId) => __async(this, null, function* () {
|
|
186
201
|
const res = yield this.baseRequest.get(`/sessions/${sessionLookupId}/origin`);
|
|
187
202
|
return res.data;
|
|
188
203
|
});
|
|
204
|
+
// GET /sessions/:sessionLookupId/login-method
|
|
205
|
+
this.sessionLoginMethod = (sessionLookupId) => __async(this, null, function* () {
|
|
206
|
+
const res = yield this.baseRequest.get(`/sessions/${sessionLookupId}/login-method`);
|
|
207
|
+
return res.data;
|
|
208
|
+
});
|
|
209
|
+
// GET /sessions/:sessionLookupId/auth-verified
|
|
210
|
+
this.sessionAuthVerified = (sessionLookupId) => __async(this, null, function* () {
|
|
211
|
+
const res = yield this.baseRequest.get(`/sessions/${sessionLookupId}/auth-verified`);
|
|
212
|
+
return res.data;
|
|
213
|
+
});
|
|
214
|
+
// GET /sessions/:sessionLookupId/auth
|
|
215
|
+
this.sessionAuth = (sessionLookupId) => __async(this, null, function* () {
|
|
216
|
+
const res = yield this.baseRequest.get(`/sessions/${sessionLookupId}/auth`);
|
|
217
|
+
return res.data;
|
|
218
|
+
});
|
|
189
219
|
// POST /biometrics/verify
|
|
190
220
|
this.verifyWebChallenge = (partnerId, body) => __async(this, null, function* () {
|
|
191
221
|
const res = yield this.baseRequest.post(`/biometrics/verify`, body, {
|
|
@@ -348,6 +378,43 @@ class Client {
|
|
|
348
378
|
this.trackReactSdkAnalytics = (opts) => __async(this, null, function* () {
|
|
349
379
|
yield this.baseRequest.post("/partners/analytics/react-sdk", opts);
|
|
350
380
|
});
|
|
381
|
+
// ENCLAVE METHODS
|
|
382
|
+
/**
|
|
383
|
+
* Get the enclave's public key for encryption
|
|
384
|
+
*/
|
|
385
|
+
this.getEnclavePublicKey = () => __async(this, null, function* () {
|
|
386
|
+
const res = yield this.baseRequest.get(
|
|
387
|
+
"/enclave/public-key"
|
|
388
|
+
);
|
|
389
|
+
return res.data;
|
|
390
|
+
});
|
|
391
|
+
/**
|
|
392
|
+
* Persist encrypted key shares to the enclave
|
|
393
|
+
* @param encryptedPayload JSON string containing the encrypted ECIES payload
|
|
394
|
+
*/
|
|
395
|
+
this.persistEnclaveShares = (encryptedPayload) => __async(this, null, function* () {
|
|
396
|
+
const body = { encryptedPayload };
|
|
397
|
+
const res = yield this.baseRequest.post("/enclave/key-shares", body);
|
|
398
|
+
return res.data;
|
|
399
|
+
});
|
|
400
|
+
/**
|
|
401
|
+
* Retrieve encrypted key shares from the enclave
|
|
402
|
+
* @param encryptedPayload JSON string containing the encrypted ECIES query
|
|
403
|
+
*/
|
|
404
|
+
this.retrieveEnclaveShares = (encryptedPayload) => __async(this, null, function* () {
|
|
405
|
+
const res = yield this.baseRequest.get(
|
|
406
|
+
`/enclave/key-shares?encryptedPayload=${encodeURIComponent(encryptedPayload)}`
|
|
407
|
+
);
|
|
408
|
+
return res.data;
|
|
409
|
+
});
|
|
410
|
+
this.issueEnclaveJwt = (encryptedPayload) => __async(this, null, function* () {
|
|
411
|
+
const res = yield this.baseRequest.post(`/enclave/jwt/issue`, { encryptedPayload });
|
|
412
|
+
return res.data;
|
|
413
|
+
});
|
|
414
|
+
this.refreshEnclaveJwt = (encryptedPayload) => __async(this, null, function* () {
|
|
415
|
+
const res = yield this.baseRequest.post(`/enclave/jwt/refresh`, { encryptedPayload });
|
|
416
|
+
return res.data;
|
|
417
|
+
});
|
|
351
418
|
const headers = __spreadValues(__spreadValues({}, apiKey && { [API_KEY_HEADER_NAME]: apiKey }), partnerId && { [PARTNER_ID_HEADER_NAME]: partnerId });
|
|
352
419
|
const axiosConfig = {
|
|
353
420
|
baseURL: userManagementHost,
|
|
@@ -523,8 +590,8 @@ class Client {
|
|
|
523
590
|
});
|
|
524
591
|
}
|
|
525
592
|
getFarcasterAuthStatus() {
|
|
526
|
-
return __async(this,
|
|
527
|
-
const res = yield this.baseRequest.post(`/auth/farcaster/status/v2
|
|
593
|
+
return __async(this, arguments, function* ({ sessionLookupId } = {}) {
|
|
594
|
+
const res = yield this.baseRequest.post(`/auth/farcaster/status/v2`, { sessionLookupId });
|
|
528
595
|
return res.data;
|
|
529
596
|
});
|
|
530
597
|
}
|
|
@@ -834,6 +901,17 @@ class Client {
|
|
|
834
901
|
return res.data;
|
|
835
902
|
});
|
|
836
903
|
}
|
|
904
|
+
getSupportedAuthMethodsV2(auth) {
|
|
905
|
+
return __async(this, null, function* () {
|
|
906
|
+
const res = yield this.baseRequest.get(
|
|
907
|
+
"/users/supported-auth-methods/v2",
|
|
908
|
+
{
|
|
909
|
+
params: __spreadValues({}, auth)
|
|
910
|
+
}
|
|
911
|
+
);
|
|
912
|
+
return res.data;
|
|
913
|
+
});
|
|
914
|
+
}
|
|
837
915
|
getPasswords(auth) {
|
|
838
916
|
return __async(this, null, function* () {
|
|
839
917
|
const res = yield this.baseRequest.get("/users/passwords", {
|
|
@@ -853,9 +931,9 @@ class Client {
|
|
|
853
931
|
return res;
|
|
854
932
|
});
|
|
855
933
|
}
|
|
856
|
-
getEncryptedWalletPrivateKey(passwordId) {
|
|
934
|
+
getEncryptedWalletPrivateKey(passwordId, sessionLookupId) {
|
|
857
935
|
return __async(this, null, function* () {
|
|
858
|
-
const query = new URLSearchParams({ passwordId }).toString();
|
|
936
|
+
const query = new URLSearchParams({ passwordId, sessionLookupId }).toString();
|
|
859
937
|
const res = yield this.baseRequest.get(`/encrypted-wallet-private-keys?${query}`);
|
|
860
938
|
return res;
|
|
861
939
|
});
|
package/dist/esm/types/auth.js
CHANGED
|
@@ -65,14 +65,22 @@ const LINKED_ACCOUNT_TYPES = [
|
|
|
65
65
|
var AuthMethod = /* @__PURE__ */ ((AuthMethod2) => {
|
|
66
66
|
AuthMethod2["PASSWORD"] = "PASSWORD";
|
|
67
67
|
AuthMethod2["PASSKEY"] = "PASSKEY";
|
|
68
|
+
AuthMethod2["PIN"] = "PIN";
|
|
69
|
+
AuthMethod2["SLO"] = "SLO";
|
|
68
70
|
return AuthMethod2;
|
|
69
71
|
})(AuthMethod || {});
|
|
72
|
+
var LegacyAuthMethod = /* @__PURE__ */ ((LegacyAuthMethod2) => {
|
|
73
|
+
LegacyAuthMethod2["PASSWORD"] = "PASSWORD";
|
|
74
|
+
LegacyAuthMethod2["BIOMETRIC"] = "BIOMETRIC";
|
|
75
|
+
return LegacyAuthMethod2;
|
|
76
|
+
})(LegacyAuthMethod || {});
|
|
70
77
|
export {
|
|
71
78
|
AUTH_TYPES,
|
|
72
79
|
AuthMethod,
|
|
73
80
|
EncryptorType,
|
|
74
81
|
KeyShareType,
|
|
75
82
|
LINKED_ACCOUNT_TYPES,
|
|
83
|
+
LegacyAuthMethod,
|
|
76
84
|
OAUTH_METHODS,
|
|
77
85
|
OAuthMethod,
|
|
78
86
|
PasswordStatus,
|
package/dist/types/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AxiosResponse } from 'axios';
|
|
2
|
-
import { AccountMetadata, Auth, AuthIdentifier, AuthMethod, BackupKitEmailProps, BiometricLocationHint, Chain, CurrentWalletIds, EncryptedKeyShare, EncryptorType, ExternalWalletInfo, LoginExternalWalletResponse, KeyShareType, Network, OnRampAsset, OnRampConfig, OnRampProvider, OnRampPurchase, OnRampPurchaseCreateParams, OnRampPurchaseUpdateParams, PasswordStatus, PregenIds, PrimaryAuth, PublicKeyStatus, PublicKeyType, ServerAuthStateSignup, SessionInfo, Setup2faResponse, SignUpOrLogInResponse, TelegramAuthResponse, TPregenIdentifierType, VerificationEmailProps, VerifiedAuth, VerifyFarcasterResponse, VerifyTelegramResponse, VerifyThirdPartyAuth, WalletEntity, WalletParams, TWalletScheme, TWalletType, VerifyExternalWalletParams, IssueJwtParams, IssueJwtResponse, LinkAccountParams, LinkedAccounts, ResendVerificationCodeParams } from './types/index.js';
|
|
2
|
+
import { AccountMetadata, Auth, AuthIdentifier, AuthMethod, BackupKitEmailProps, BiometricLocationHint, Chain, CurrentWalletIds, EncryptedKeyShare, EncryptorType, ExternalWalletInfo, LoginExternalWalletResponse, KeyShareType, Network, OnRampAsset, OnRampConfig, OnRampProvider, OnRampPurchase, OnRampPurchaseCreateParams, OnRampPurchaseUpdateParams, PasswordStatus, PregenIds, PrimaryAuth, PublicKeyStatus, PublicKeyType, ServerAuthStateSignup, SessionInfo, Setup2faResponse, SignUpOrLogInResponse, TelegramAuthResponse, TPregenIdentifierType, VerificationEmailProps, VerifiedAuth, VerifyFarcasterResponse, VerifyTelegramResponse, VerifyThirdPartyAuth, WalletEntity, WalletParams, TWalletScheme, TWalletType, VerifyExternalWalletParams, IssueJwtParams, IssueJwtResponse, LinkAccountParams, LinkedAccounts, ResendVerificationCodeParams, LegacyAuthMethod, PrimaryAuthInfo, ServerAuthStateLogin, ServerAuthStateDone } from './types/index.js';
|
|
3
3
|
interface ConfigOpts {
|
|
4
4
|
useFetchAdapter?: boolean;
|
|
5
5
|
}
|
|
@@ -18,6 +18,7 @@ interface createUserIdRes {
|
|
|
18
18
|
}
|
|
19
19
|
interface verifyBody {
|
|
20
20
|
verificationCode: string;
|
|
21
|
+
sessionLookupId?: string;
|
|
21
22
|
}
|
|
22
23
|
interface getWebChallengeRes {
|
|
23
24
|
challenge: string;
|
|
@@ -67,6 +68,7 @@ interface PasswordEntity {
|
|
|
67
68
|
status: PasswordStatus;
|
|
68
69
|
sigDerivedPublicKey: string;
|
|
69
70
|
salt: string;
|
|
71
|
+
isPIN?: boolean;
|
|
70
72
|
}
|
|
71
73
|
interface createWalletBody {
|
|
72
74
|
useTwoSigners?: boolean;
|
|
@@ -117,6 +119,7 @@ interface sessionPasswordBody {
|
|
|
117
119
|
salt?: string;
|
|
118
120
|
encryptedWalletPrivateKey?: string;
|
|
119
121
|
encryptionKeyHash?: string;
|
|
122
|
+
isPIN?: boolean;
|
|
120
123
|
}
|
|
121
124
|
interface EncryptedWalletPrivateKey {
|
|
122
125
|
id: string;
|
|
@@ -148,13 +151,19 @@ declare class Client {
|
|
|
148
151
|
*/
|
|
149
152
|
createUser: (body: VerifiedAuth & VerificationEmailProps) => Promise<createUserIdRes>;
|
|
150
153
|
checkUserExists: (auth: VerifiedAuth) => Promise<any>;
|
|
151
|
-
verifyTelegram: (authObject
|
|
154
|
+
verifyTelegram: ({ authObject, sessionLookupId, }: {
|
|
155
|
+
authObject: TelegramAuthResponse;
|
|
156
|
+
sessionLookupId?: string;
|
|
157
|
+
}) => Promise<VerifyTelegramResponse>;
|
|
152
158
|
verifyOAuth: () => Promise<VerifyThirdPartyAuth | null>;
|
|
153
159
|
loginExternalWallet: ({ externalWallet, shouldTrackUser, }: {
|
|
154
160
|
externalWallet: ExternalWalletInfo;
|
|
155
161
|
shouldTrackUser?: boolean;
|
|
156
162
|
}) => Promise<LoginExternalWalletResponse>;
|
|
157
|
-
|
|
163
|
+
verifyAccount: (userId: string, body: verifyBody) => Promise<ServerAuthStateSignup | ServerAuthStateLogin | ServerAuthStateDone>;
|
|
164
|
+
sendLoginVerificationCode: (auth: PrimaryAuthInfo, isRecovery?: boolean) => Promise<{
|
|
165
|
+
userId: string;
|
|
166
|
+
}>;
|
|
158
167
|
getLinkedAccounts: ({ userId, withMetadata, }: {
|
|
159
168
|
userId: string;
|
|
160
169
|
withMetadata?: boolean;
|
|
@@ -191,7 +200,7 @@ declare class Client {
|
|
|
191
200
|
* @deprecated
|
|
192
201
|
*/
|
|
193
202
|
verifyPhone: (userId: string, body: verifyBody) => Promise<any>;
|
|
194
|
-
verifyExternalWallet: (userId: string, body: VerifyExternalWalletParams) => Promise<ServerAuthStateSignup>;
|
|
203
|
+
verifyExternalWallet: (userId: string, body: VerifyExternalWalletParams) => Promise<ServerAuthStateSignup | ServerAuthStateLogin>;
|
|
195
204
|
addSessionPublicKey: (userId: string, body: sessionPublicKeyBody) => Promise<any>;
|
|
196
205
|
getSessionPublicKeys: (userId: string) => Promise<any>;
|
|
197
206
|
getBiometricLocationHints: (auth: PrimaryAuth) => Promise<BiometricLocationHint[]>;
|
|
@@ -202,6 +211,21 @@ declare class Client {
|
|
|
202
211
|
sessionOrigin: (sessionLookupId: string) => Promise<{
|
|
203
212
|
origin?: string;
|
|
204
213
|
}>;
|
|
214
|
+
sessionLoginMethod: (sessionLookupId: string) => Promise<{
|
|
215
|
+
loginMethod?: string;
|
|
216
|
+
}>;
|
|
217
|
+
sessionAuthVerified: (sessionLookupId: string) => Promise<{
|
|
218
|
+
authVerified?: boolean;
|
|
219
|
+
}>;
|
|
220
|
+
sessionAuth: (sessionLookupId: string) => Promise<{
|
|
221
|
+
userId: string;
|
|
222
|
+
authVerified?: boolean;
|
|
223
|
+
loginAuthMethods: {
|
|
224
|
+
methods: AuthMethod[];
|
|
225
|
+
};
|
|
226
|
+
auth: PrimaryAuth;
|
|
227
|
+
isNewUser: boolean;
|
|
228
|
+
}>;
|
|
205
229
|
verifyWebChallenge: (partnerId: string, body: verifyWebChallengeBody) => Promise<any>;
|
|
206
230
|
getSessionChallenge: (userId: string) => Promise<any>;
|
|
207
231
|
verifySessionChallenge: (userId: string, body: verifySessionChallengeBody) => Promise<any>;
|
|
@@ -257,7 +281,9 @@ declare class Client {
|
|
|
257
281
|
initializeFarcasterLogin({ appScheme }?: {
|
|
258
282
|
appScheme?: string;
|
|
259
283
|
}): Promise<any>;
|
|
260
|
-
getFarcasterAuthStatus(
|
|
284
|
+
getFarcasterAuthStatus({ sessionLookupId }?: {
|
|
285
|
+
sessionLookupId?: string;
|
|
286
|
+
}): Promise<VerifyFarcasterResponse>;
|
|
261
287
|
initializeRecoveryForPhone(phone: string, countryCode: string): Promise<AxiosResponse<any, any>>;
|
|
262
288
|
finalizeRecovery(userId: string, walletId: string): Promise<AxiosResponse<any, any>>;
|
|
263
289
|
recoverUserShares(userId: string, walletId: string): Promise<AxiosResponse<{
|
|
@@ -370,10 +396,16 @@ declare class Client {
|
|
|
370
396
|
deletePendingTransaction(userId: string, pendingTransactionId: string): Promise<any>;
|
|
371
397
|
addSessionPasswordPublicKey(userId: string, body: sessionPasswordBody): Promise<any>;
|
|
372
398
|
patchSessionPassword: (partnerId: string, userId: string, passwordId: string, body: sessionPasswordBody) => Promise<any>;
|
|
373
|
-
getSupportedAuthMethods(auth: Auth): Promise<
|
|
399
|
+
getSupportedAuthMethods(auth: Auth): Promise<{
|
|
400
|
+
supportedAuthMethods: LegacyAuthMethod[];
|
|
401
|
+
}>;
|
|
402
|
+
getSupportedAuthMethodsV2(auth: Auth): Promise<{
|
|
403
|
+
supportedAuthMethods: AuthMethod[];
|
|
404
|
+
hasPasswordWithoutPIN: boolean;
|
|
405
|
+
}>;
|
|
374
406
|
getPasswords(auth: Auth): Promise<PasswordEntity[]>;
|
|
375
407
|
verifyPasswordChallenge(partnerId: string, body: verifyPasswordChallengeBody): Promise<any>;
|
|
376
|
-
getEncryptedWalletPrivateKey(passwordId: string): Promise<{
|
|
408
|
+
getEncryptedWalletPrivateKey(passwordId: string, sessionLookupId: string): Promise<{
|
|
377
409
|
data: {
|
|
378
410
|
encryptedWalletPrivateKey: EncryptedWalletPrivateKey;
|
|
379
411
|
};
|
|
@@ -400,5 +432,33 @@ declare class Client {
|
|
|
400
432
|
props: object;
|
|
401
433
|
reactSdkVersion: string;
|
|
402
434
|
}) => Promise<void>;
|
|
435
|
+
/**
|
|
436
|
+
* Get the enclave's public key for encryption
|
|
437
|
+
*/
|
|
438
|
+
getEnclavePublicKey: () => Promise<{
|
|
439
|
+
publicKey: string;
|
|
440
|
+
keyFingerprint: string;
|
|
441
|
+
generatedAt: string;
|
|
442
|
+
}>;
|
|
443
|
+
/**
|
|
444
|
+
* Persist encrypted key shares to the enclave
|
|
445
|
+
* @param encryptedPayload JSON string containing the encrypted ECIES payload
|
|
446
|
+
*/
|
|
447
|
+
persistEnclaveShares: (encryptedPayload: string) => Promise<{
|
|
448
|
+
payload: any;
|
|
449
|
+
}>;
|
|
450
|
+
/**
|
|
451
|
+
* Retrieve encrypted key shares from the enclave
|
|
452
|
+
* @param encryptedPayload JSON string containing the encrypted ECIES query
|
|
453
|
+
*/
|
|
454
|
+
retrieveEnclaveShares: (encryptedPayload: string) => Promise<{
|
|
455
|
+
payload: any;
|
|
456
|
+
}>;
|
|
457
|
+
issueEnclaveJwt: (encryptedPayload: string) => Promise<{
|
|
458
|
+
payload: string;
|
|
459
|
+
}>;
|
|
460
|
+
refreshEnclaveJwt: (encryptedPayload: string) => Promise<{
|
|
461
|
+
payload: string;
|
|
462
|
+
}>;
|
|
403
463
|
}
|
|
404
464
|
export default Client;
|
|
@@ -117,7 +117,13 @@ export type TLinkedAccountType = (typeof LINKED_ACCOUNT_TYPES)[number] | 'EXTERN
|
|
|
117
117
|
export type SupportedAccountLinks = (TLinkedAccountType | TExternalWallet)[];
|
|
118
118
|
export declare enum AuthMethod {
|
|
119
119
|
PASSWORD = "PASSWORD",
|
|
120
|
-
PASSKEY = "PASSKEY"
|
|
120
|
+
PASSKEY = "PASSKEY",
|
|
121
|
+
PIN = "PIN",
|
|
122
|
+
SLO = "SLO"
|
|
123
|
+
}
|
|
124
|
+
export declare enum LegacyAuthMethod {
|
|
125
|
+
PASSWORD = "PASSWORD",
|
|
126
|
+
BIOMETRIC = "BIOMETRIC"
|
|
121
127
|
}
|
|
122
128
|
export type BiometricLocationHint = {
|
|
123
129
|
useragent?: string;
|
|
@@ -154,7 +160,14 @@ export type ServerAuthStateBase = AuthExtras & {
|
|
|
154
160
|
export type ServerAuthStateVerify = ServerAuthStateBase & {
|
|
155
161
|
stage: 'verify';
|
|
156
162
|
signatureVerificationMessage?: string;
|
|
157
|
-
|
|
163
|
+
isWalletSelectionNeeded?: boolean;
|
|
164
|
+
} & ({
|
|
165
|
+
nextStage: 'login';
|
|
166
|
+
loginAuthMethods: AuthMethod[];
|
|
167
|
+
} | {
|
|
168
|
+
nextStage: 'signup';
|
|
169
|
+
signupAuthMethods: AuthMethod[];
|
|
170
|
+
});
|
|
158
171
|
export type ServerAuthStateSignup = ServerAuthStateBase & {
|
|
159
172
|
stage: 'signup';
|
|
160
173
|
signupAuthMethods: AuthMethod[];
|
|
@@ -164,13 +177,22 @@ export type ServerAuthStateLogin = ServerAuthStateBase & {
|
|
|
164
177
|
biometricHints?: BiometricLocationHint[];
|
|
165
178
|
loginAuthMethods: AuthMethod[];
|
|
166
179
|
isWalletSelectionNeeded?: boolean;
|
|
180
|
+
hasPasswordWithoutPIN?: boolean;
|
|
181
|
+
signatureVerificationMessage?: string;
|
|
182
|
+
};
|
|
183
|
+
export type ServerAuthStateDone = ServerAuthStateBase & {
|
|
184
|
+
stage: 'done';
|
|
185
|
+
authMethods: AuthMethod[];
|
|
186
|
+
isWalletSelectionNeeded?: boolean;
|
|
187
|
+
isNewUser: boolean;
|
|
167
188
|
};
|
|
168
|
-
export type VerifyThirdPartyAuth = ServerAuthStateSignup | ServerAuthStateLogin;
|
|
189
|
+
export type VerifyThirdPartyAuth = ServerAuthStateSignup | ServerAuthStateLogin | ServerAuthStateDone;
|
|
169
190
|
export type ExternalWalletInfo = {
|
|
191
|
+
partnerId: string;
|
|
170
192
|
address: string;
|
|
171
193
|
type: ExternalWalletType;
|
|
172
194
|
provider?: string;
|
|
173
|
-
providerId?:
|
|
195
|
+
providerId?: string;
|
|
174
196
|
addressBech32?: string;
|
|
175
197
|
withFullParaAuth?: boolean;
|
|
176
198
|
ensName?: string | null;
|
|
@@ -201,7 +223,7 @@ export type LoginExternalWalletResponse = ServerAuthStateLogin | (ServerAuthStat
|
|
|
201
223
|
});
|
|
202
224
|
export type VerifyTelegramResponse = VerifyThirdPartyAuth;
|
|
203
225
|
export type VerifyFarcasterResponse = VerifyThirdPartyAuth | Record<string, never>;
|
|
204
|
-
export type ServerAuthState = ServerAuthStateVerify | ServerAuthStateSignup | ServerAuthStateLogin;
|
|
226
|
+
export type ServerAuthState = ServerAuthStateVerify | ServerAuthStateSignup | ServerAuthStateLogin | ServerAuthStateDone;
|
|
205
227
|
export type SignUpOrLogInResponse = ServerAuthStateVerify | ServerAuthStateLogin;
|
|
206
228
|
export type Setup2faResponse = {
|
|
207
229
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpara/user-management-client",
|
|
3
|
-
"version": "2.0.0-dev.
|
|
3
|
+
"version": "2.0.0-dev.7",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"axios": "^1.8.4",
|
|
6
6
|
"libphonenumber-js": "^1.11.7"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"dist",
|
|
20
20
|
"package.json"
|
|
21
21
|
],
|
|
22
|
-
"gitHead": "
|
|
22
|
+
"gitHead": "225cd3693edaab4dac81df7285956d2616e5717f",
|
|
23
23
|
"main": "dist/cjs/index.js",
|
|
24
24
|
"module": "dist/esm/index.js",
|
|
25
25
|
"scripts": {
|