@turnkey/sdk-react 5.5.8 → 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.
@@ -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":";;;;AAEO,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;;;;"}
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":";;IAEaA,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;;;;"}
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": "5.5.8",
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.10",
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.8.14",
61
- "@turnkey/sdk-browser": "5.16.1",
62
- "@turnkey/sdk-types": "0.14.0",
63
- "@turnkey/sdk-server": "5.3.0",
64
- "@turnkey/wallet-stamper": "1.1.16"
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",