@turnkey/sdk-react 5.5.7 → 6.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 +60 -0
- package/dist/components/auth/Auth.d.ts.map +1 -1
- package/dist/components/auth/Auth.js +5 -2
- package/dist/components/auth/Auth.js.map +1 -1
- package/dist/components/auth/Auth.mjs +29 -23
- package/dist/components/auth/Auth.mjs.map +1 -1
- package/dist/components/auth/OtpVerification.d.ts +1 -0
- package/dist/components/auth/OtpVerification.d.ts.map +1 -1
- package/dist/components/auth/OtpVerification.js +21 -1
- package/dist/components/auth/OtpVerification.js.map +1 -1
- package/dist/components/auth/OtpVerification.mjs +49 -26
- package/dist/components/auth/OtpVerification.mjs.map +1 -1
- package/dist/components/auth/utils.d.ts +9 -0
- package/dist/components/auth/utils.d.ts.map +1 -1
- package/dist/components/auth/utils.js +38 -0
- package/dist/components/auth/utils.js.map +1 -1
- package/dist/components/auth/utils.mjs +40 -1
- package/dist/components/auth/utils.mjs.map +1 -1
- package/package.json +8 -7
|
@@ -1,11 +1,49 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var parsePhoneNumberFromString = require('libphonenumber-js');
|
|
4
|
+
var sdkTypes = require('@turnkey/sdk-types');
|
|
4
5
|
|
|
5
6
|
const formatPhoneNumber = phone => {
|
|
6
7
|
const phoneNumber = parsePhoneNumberFromString(phone);
|
|
7
8
|
return phoneNumber ? phoneNumber.formatInternational() : phone;
|
|
8
9
|
};
|
|
10
|
+
function decodeVerificationToken(verificationToken) {
|
|
11
|
+
const [, payloadB64] = verificationToken.split(".");
|
|
12
|
+
if (!payloadB64) {
|
|
13
|
+
throw new Error("Invalid token: missing payload");
|
|
14
|
+
}
|
|
15
|
+
const json = atob(payloadB64);
|
|
16
|
+
return JSON.parse(json);
|
|
17
|
+
}
|
|
18
|
+
function getClientSignatureMessageForLogin({
|
|
19
|
+
verificationToken,
|
|
20
|
+
sessionPublicKey = undefined
|
|
21
|
+
}) {
|
|
22
|
+
try {
|
|
23
|
+
const decoded = decodeVerificationToken(verificationToken);
|
|
24
|
+
if (!decoded.public_key) throw new sdkTypes.TurnkeyError("Invalid verification token: missing publicKey", sdkTypes.TurnkeyErrorCodes.INVALID_REQUEST);
|
|
25
|
+
const verificationPublicKey = decoded.public_key;
|
|
26
|
+
// if a session public key is provided, we use it instead
|
|
27
|
+
const resolvedSessionPublicKey = sessionPublicKey || verificationPublicKey;
|
|
28
|
+
const usage = {
|
|
29
|
+
publicKey: resolvedSessionPublicKey
|
|
30
|
+
};
|
|
31
|
+
const payload = {
|
|
32
|
+
login: usage,
|
|
33
|
+
tokenId: decoded.id,
|
|
34
|
+
type: "USAGE_TYPE_LOGIN"
|
|
35
|
+
};
|
|
36
|
+
const json = JSON.stringify(payload);
|
|
37
|
+
return {
|
|
38
|
+
message: json,
|
|
39
|
+
publicKey: verificationPublicKey
|
|
40
|
+
};
|
|
41
|
+
} catch (error) {
|
|
42
|
+
throw new sdkTypes.TurnkeyError("Failed to create client signature bundle for login", sdkTypes.TurnkeyErrorCodes.UNKNOWN, error);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
9
45
|
|
|
46
|
+
exports.decodeVerificationToken = decodeVerificationToken;
|
|
10
47
|
exports.formatPhoneNumber = formatPhoneNumber;
|
|
48
|
+
exports.getClientSignatureMessageForLogin = getClientSignatureMessageForLogin;
|
|
11
49
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/components/auth/utils.ts"],"sourcesContent":[null],"names":["formatPhoneNumber","phone","phoneNumber","parsePhoneNumberFromString","formatInternational"],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/components/auth/utils.ts"],"sourcesContent":[null],"names":["formatPhoneNumber","phone","phoneNumber","parsePhoneNumberFromString","formatInternational","decodeVerificationToken","verificationToken","payloadB64","split","Error","json","atob","JSON","parse","getClientSignatureMessageForLogin","sessionPublicKey","undefined","decoded","public_key","TurnkeyError","TurnkeyErrorCodes","INVALID_REQUEST","verificationPublicKey","resolvedSessionPublicKey","usage","publicKey","payload","login","tokenId","id","type","stringify","message","error","UNKNOWN"],"mappings":";;;;;AAQO,MAAMA,iBAAiB,GAAIC,KAAa,IAAI;AACjD,EAAA,MAAMC,WAAW,GAAGC,0BAA0B,CAACF,KAAK,CAAC;EACrD,OAAOC,WAAW,GAAGA,WAAW,CAACE,mBAAmB,EAAE,GAAGH,KAAK;AAChE;AAEM,SAAUI,uBAAuBA,CACrCC,iBAAyB,EAAA;EAEzB,MAAM,GAAGC,UAAU,CAAC,GAAGD,iBAAiB,CAACE,KAAK,CAAC,GAAG,CAAC;EACnD,IAAI,CAACD,UAAU,EAAE;AACf,IAAA,MAAM,IAAIE,KAAK,CAAC,gCAAgC,CAAC;AACnD,EAAA;AACA,EAAA,MAAMC,IAAI,GAAGC,IAAI,CAACJ,UAAU,CAAC;AAC7B,EAAA,OAAOK,IAAI,CAACC,KAAK,CAACH,IAAI,CAAsB;AAC9C;AAEM,SAAUI,iCAAiCA,CAAC;EAChDR,iBAAiB;AACjBS,EAAAA,gBAAgB,GAAGC;AAAS,CAI7B,EAAA;EACC,IAAI;AACF,IAAA,MAAMC,OAAO,GAAGZ,uBAAuB,CAACC,iBAAiB,CAAC;AAE1D,IAAA,IAAI,CAACW,OAAO,CAACC,UAAU,EACrB,MAAM,IAAIC,qBAAY,CACpB,+CAA+C,EAC/CC,0BAAiB,CAACC,eAAe,CAClC;AAEH,IAAA,MAAMC,qBAAqB,GAAGL,OAAO,CAACC,UAAU;AAEhD;AACA,IAAA,MAAMK,wBAAwB,GAAGR,gBAAgB,IAAIO,qBAAqB;AAE1E,IAAA,MAAME,KAAK,GAAiB;AAAEC,MAAAA,SAAS,EAAEF;KAA0B;AACnE,IAAA,MAAMG,OAAO,GAAiB;AAC5BC,MAAAA,KAAK,EAAEH,KAAK;MACZI,OAAO,EAAEX,OAAO,CAACY,EAAE;AACnBC,MAAAA,IAAI,EAAE;KACP;AAED,IAAA,MAAMpB,IAAI,GAAGE,IAAI,CAACmB,SAAS,CAACL,OAAO,CAAC;IAEpC,OAAO;AAAEM,MAAAA,OAAO,EAAEtB,IAAI;AAAEe,MAAAA,SAAS,EAAEH;KAAuB;EAC5D,CAAC,CAAC,OAAOW,KAAK,EAAE;IACd,MAAM,IAAId,qBAAY,CACpB,oDAAoD,EACpDC,0BAAiB,CAACc,OAAO,EACzBD,KAAK,CACN;AACH,EAAA;AACF;;;;;;"}
|
|
@@ -1,9 +1,48 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
1
2
|
import parsePhoneNumberFromString from 'libphonenumber-js';
|
|
3
|
+
import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/sdk-types';
|
|
2
4
|
|
|
3
5
|
var formatPhoneNumber = function formatPhoneNumber(phone) {
|
|
4
6
|
var phoneNumber = parsePhoneNumberFromString(phone);
|
|
5
7
|
return phoneNumber ? phoneNumber.formatInternational() : phone;
|
|
6
8
|
};
|
|
9
|
+
function decodeVerificationToken(verificationToken) {
|
|
10
|
+
var _verificationToken$sp = verificationToken.split("."),
|
|
11
|
+
_verificationToken$sp2 = _slicedToArray(_verificationToken$sp, 2),
|
|
12
|
+
payloadB64 = _verificationToken$sp2[1];
|
|
13
|
+
if (!payloadB64) {
|
|
14
|
+
throw new Error("Invalid token: missing payload");
|
|
15
|
+
}
|
|
16
|
+
var json = atob(payloadB64);
|
|
17
|
+
return JSON.parse(json);
|
|
18
|
+
}
|
|
19
|
+
function getClientSignatureMessageForLogin(_ref) {
|
|
20
|
+
var verificationToken = _ref.verificationToken,
|
|
21
|
+
_ref$sessionPublicKey = _ref.sessionPublicKey,
|
|
22
|
+
sessionPublicKey = _ref$sessionPublicKey === void 0 ? undefined : _ref$sessionPublicKey;
|
|
23
|
+
try {
|
|
24
|
+
var decoded = decodeVerificationToken(verificationToken);
|
|
25
|
+
if (!decoded.public_key) throw new TurnkeyError("Invalid verification token: missing publicKey", TurnkeyErrorCodes.INVALID_REQUEST);
|
|
26
|
+
var verificationPublicKey = decoded.public_key;
|
|
27
|
+
// if a session public key is provided, we use it instead
|
|
28
|
+
var resolvedSessionPublicKey = sessionPublicKey || verificationPublicKey;
|
|
29
|
+
var usage = {
|
|
30
|
+
publicKey: resolvedSessionPublicKey
|
|
31
|
+
};
|
|
32
|
+
var payload = {
|
|
33
|
+
login: usage,
|
|
34
|
+
tokenId: decoded.id,
|
|
35
|
+
type: "USAGE_TYPE_LOGIN"
|
|
36
|
+
};
|
|
37
|
+
var json = JSON.stringify(payload);
|
|
38
|
+
return {
|
|
39
|
+
message: json,
|
|
40
|
+
publicKey: verificationPublicKey
|
|
41
|
+
};
|
|
42
|
+
} catch (error) {
|
|
43
|
+
throw new TurnkeyError("Failed to create client signature bundle for login", TurnkeyErrorCodes.UNKNOWN, error);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
7
46
|
|
|
8
|
-
export { formatPhoneNumber };
|
|
47
|
+
export { decodeVerificationToken, formatPhoneNumber, getClientSignatureMessageForLogin };
|
|
9
48
|
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../../src/components/auth/utils.ts"],"sourcesContent":[null],"names":["formatPhoneNumber","phone","phoneNumber","parsePhoneNumberFromString","formatInternational"],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../../src/components/auth/utils.ts"],"sourcesContent":[null],"names":["formatPhoneNumber","phone","phoneNumber","parsePhoneNumberFromString","formatInternational","decodeVerificationToken","verificationToken","_verificationToken$sp","split","_verificationToken$sp2","_slicedToArray","payloadB64","Error","json","atob","JSON","parse","getClientSignatureMessageForLogin","_ref","_ref$sessionPublicKey","sessionPublicKey","undefined","decoded","public_key","TurnkeyError","TurnkeyErrorCodes","INVALID_REQUEST","verificationPublicKey","resolvedSessionPublicKey","usage","publicKey","payload","login","tokenId","id","type","stringify","message","error","UNKNOWN"],"mappings":";;;;IAQaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAAa,EAAI;AACjD,EAAA,IAAMC,WAAW,GAAGC,0BAA0B,CAACF,KAAK,CAAC;EACrD,OAAOC,WAAW,GAAGA,WAAW,CAACE,mBAAmB,EAAE,GAAGH,KAAK;AAChE;AAEM,SAAUI,uBAAuBA,CACrCC,iBAAyB,EAAA;AAEzB,EAAA,IAAAC,qBAAA,GAAuBD,iBAAiB,CAACE,KAAK,CAAC,GAAG,CAAC;IAAAC,sBAAA,GAAAC,cAAA,CAAAH,qBAAA,EAAA,CAAA,CAAA;AAA1CI,IAAAA,UAAU,GAAAF,sBAAA,CAAA,CAAA,CAAA;EACnB,IAAI,CAACE,UAAU,EAAE;AACf,IAAA,MAAM,IAAIC,KAAK,CAAC,gCAAgC,CAAC;AACnD,EAAA;AACA,EAAA,IAAMC,IAAI,GAAGC,IAAI,CAACH,UAAU,CAAC;AAC7B,EAAA,OAAOI,IAAI,CAACC,KAAK,CAACH,IAAI,CAAsB;AAC9C;AAEM,SAAUI,iCAAiCA,CAAAC,IAAA,EAMhD;AAAA,EAAA,IALCZ,iBAAiB,GAAAY,IAAA,CAAjBZ,iBAAiB;IAAAa,qBAAA,GAAAD,IAAA,CACjBE,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAGE,SAAS,GAAAF,qBAAA;EAK5B,IAAI;AACF,IAAA,IAAMG,OAAO,GAAGjB,uBAAuB,CAACC,iBAAiB,CAAC;AAE1D,IAAA,IAAI,CAACgB,OAAO,CAACC,UAAU,EACrB,MAAM,IAAIC,YAAY,CACpB,+CAA+C,EAC/CC,iBAAiB,CAACC,eAAe,CAClC;AAEH,IAAA,IAAMC,qBAAqB,GAAGL,OAAO,CAACC,UAAU;AAEhD;AACA,IAAA,IAAMK,wBAAwB,GAAGR,gBAAgB,IAAIO,qBAAqB;AAE1E,IAAA,IAAME,KAAK,GAAiB;AAAEC,MAAAA,SAAS,EAAEF;KAA0B;AACnE,IAAA,IAAMG,OAAO,GAAiB;AAC5BC,MAAAA,KAAK,EAAEH,KAAK;MACZI,OAAO,EAAEX,OAAO,CAACY,EAAE;AACnBC,MAAAA,IAAI,EAAE;KACP;AAED,IAAA,IAAMtB,IAAI,GAAGE,IAAI,CAACqB,SAAS,CAACL,OAAO,CAAC;IAEpC,OAAO;AAAEM,MAAAA,OAAO,EAAExB,IAAI;AAAEiB,MAAAA,SAAS,EAAEH;KAAuB;EAC5D,CAAC,CAAC,OAAOW,KAAK,EAAE;IACd,MAAM,IAAId,YAAY,CACpB,oDAAoD,EACpDC,iBAAiB,CAACc,OAAO,EACzBD,KAAK,CACN;AACH,EAAA;AACF;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@turnkey/sdk-react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/index.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -53,15 +53,16 @@
|
|
|
53
53
|
"@react-oauth/google": "^0.12.1",
|
|
54
54
|
"jwt-decode": "^4.0.0",
|
|
55
55
|
"libphonenumber-js": "^1.11.14",
|
|
56
|
-
"next": "15.5.
|
|
56
|
+
"next": "15.5.15",
|
|
57
57
|
"react-apple-login": "^1.1.6",
|
|
58
58
|
"react-international-phone": "^4.3.0",
|
|
59
59
|
"usehooks-ts": "^3.1.1",
|
|
60
|
-
"@turnkey/crypto": "2.
|
|
61
|
-
"@turnkey/
|
|
62
|
-
"@turnkey/sdk-
|
|
63
|
-
"@turnkey/
|
|
64
|
-
"@turnkey/sdk-
|
|
60
|
+
"@turnkey/crypto": "2.9.0",
|
|
61
|
+
"@turnkey/encoding": "0.6.0",
|
|
62
|
+
"@turnkey/sdk-browser": "6.0.0",
|
|
63
|
+
"@turnkey/sdk-types": "1.0.0",
|
|
64
|
+
"@turnkey/sdk-server": "6.0.0",
|
|
65
|
+
"@turnkey/wallet-stamper": "1.1.17"
|
|
65
66
|
},
|
|
66
67
|
"peerDependencies": {
|
|
67
68
|
"@types/react": ">=18.2.75 <20",
|