@descope/web-js-sdk 1.7.1 → 1.8.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/dist/index.d.ts CHANGED
@@ -93,7 +93,8 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
93
93
  samlIdpUsername?: string;
94
94
  ssoAppId?: string;
95
95
  abTestingKey?: number;
96
- }, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "preview" | "abTestingKey"> & {
96
+ client?: Record<string, any>;
97
+ }, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "preview" | "abTestingKey" | "client"> & {
97
98
  lastAuth?: Omit<{
98
99
  authMethod?: "webauthn" | "otp" | "oauth" | "saml" | "totp" | "magiclink" | "enchantedlink";
99
100
  oauthProvider?: string;
@@ -174,6 +175,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
174
175
  sms: (loginId: string, user?: {
175
176
  email?: string;
176
177
  name?: string;
178
+ givenName?: string;
179
+ middleName?: string;
180
+ familyName?: string;
177
181
  phone?: string;
178
182
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
179
183
  maskedPhone: string;
@@ -181,6 +185,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
181
185
  whatsapp: (loginId: string, user?: {
182
186
  email?: string;
183
187
  name?: string;
188
+ givenName?: string;
189
+ middleName?: string;
190
+ familyName?: string;
184
191
  phone?: string;
185
192
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
186
193
  maskedPhone: string;
@@ -188,6 +195,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
188
195
  email: (loginId: string, user?: {
189
196
  email?: string;
190
197
  name?: string;
198
+ givenName?: string;
199
+ middleName?: string;
200
+ familyName?: string;
191
201
  phone?: string;
192
202
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
193
203
  maskedEmail: string;
@@ -244,6 +254,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
244
254
  sms: (loginId: string, uri: string, user?: {
245
255
  email?: string;
246
256
  name?: string;
257
+ givenName?: string;
258
+ middleName?: string;
259
+ familyName?: string;
247
260
  phone?: string;
248
261
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
249
262
  maskedPhone: string;
@@ -251,6 +264,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
251
264
  whatsapp: (loginId: string, uri: string, user?: {
252
265
  email?: string;
253
266
  name?: string;
267
+ givenName?: string;
268
+ middleName?: string;
269
+ familyName?: string;
254
270
  phone?: string;
255
271
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
256
272
  maskedPhone: string;
@@ -258,6 +274,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
258
274
  email: (loginId: string, uri: string, user?: {
259
275
  email?: string;
260
276
  name?: string;
277
+ givenName?: string;
278
+ middleName?: string;
279
+ familyName?: string;
261
280
  phone?: string;
262
281
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
263
282
  maskedEmail: string;
@@ -304,6 +323,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
304
323
  signUp: (loginId: string, uri: string, user?: {
305
324
  email?: string;
306
325
  name?: string;
326
+ givenName?: string;
327
+ middleName?: string;
328
+ familyName?: string;
307
329
  phone?: string;
308
330
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
309
331
  waitForSession: (pendingRef: string, config?: {
@@ -383,6 +405,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
383
405
  signUp: (loginId: string, user?: {
384
406
  email?: string;
385
407
  name?: string;
408
+ givenName?: string;
409
+ middleName?: string;
410
+ familyName?: string;
386
411
  phone?: string;
387
412
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
388
413
  verify: (loginId: string, code: string, loginOptions?: {
@@ -396,6 +421,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
396
421
  signUp: (loginId: string, password: string, user?: {
397
422
  email?: string;
398
423
  name?: string;
424
+ givenName?: string;
425
+ middleName?: string;
426
+ familyName?: string;
399
427
  phone?: string;
400
428
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
401
429
  signIn: (loginId: string, password: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
@@ -483,7 +511,8 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
483
511
  samlIdpUsername?: string;
484
512
  ssoAppId?: string;
485
513
  abTestingKey?: number;
486
- }, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "preview" | "abTestingKey"> & {
514
+ client?: Record<string, any>;
515
+ }, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "preview" | "abTestingKey" | "client"> & {
487
516
  lastAuth?: Omit<{
488
517
  authMethod?: "webauthn" | "otp" | "oauth" | "saml" | "totp" | "magiclink" | "enchantedlink";
489
518
  oauthProvider?: string;
@@ -564,6 +593,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
564
593
  sms: (loginId: string, user?: {
565
594
  email?: string;
566
595
  name?: string;
596
+ givenName?: string;
597
+ middleName?: string;
598
+ familyName?: string;
567
599
  phone?: string;
568
600
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
569
601
  maskedPhone: string;
@@ -571,6 +603,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
571
603
  whatsapp: (loginId: string, user?: {
572
604
  email?: string;
573
605
  name?: string;
606
+ givenName?: string;
607
+ middleName?: string;
608
+ familyName?: string;
574
609
  phone?: string;
575
610
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
576
611
  maskedPhone: string;
@@ -578,6 +613,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
578
613
  email: (loginId: string, user?: {
579
614
  email?: string;
580
615
  name?: string;
616
+ givenName?: string;
617
+ middleName?: string;
618
+ familyName?: string;
581
619
  phone?: string;
582
620
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
583
621
  maskedEmail: string;
@@ -634,6 +672,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
634
672
  sms: (loginId: string, uri: string, user?: {
635
673
  email?: string;
636
674
  name?: string;
675
+ givenName?: string;
676
+ middleName?: string;
677
+ familyName?: string;
637
678
  phone?: string;
638
679
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
639
680
  maskedPhone: string;
@@ -641,6 +682,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
641
682
  whatsapp: (loginId: string, uri: string, user?: {
642
683
  email?: string;
643
684
  name?: string;
685
+ givenName?: string;
686
+ middleName?: string;
687
+ familyName?: string;
644
688
  phone?: string;
645
689
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
646
690
  maskedPhone: string;
@@ -648,6 +692,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
648
692
  email: (loginId: string, uri: string, user?: {
649
693
  email?: string;
650
694
  name?: string;
695
+ givenName?: string;
696
+ middleName?: string;
697
+ familyName?: string;
651
698
  phone?: string;
652
699
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
653
700
  maskedEmail: string;
@@ -694,6 +741,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
694
741
  signUp: (loginId: string, uri: string, user?: {
695
742
  email?: string;
696
743
  name?: string;
744
+ givenName?: string;
745
+ middleName?: string;
746
+ familyName?: string;
697
747
  phone?: string;
698
748
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
699
749
  waitForSession: (pendingRef: string, config?: {
@@ -773,6 +823,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
773
823
  signUp: (loginId: string, user?: {
774
824
  email?: string;
775
825
  name?: string;
826
+ givenName?: string;
827
+ middleName?: string;
828
+ familyName?: string;
776
829
  phone?: string;
777
830
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
778
831
  verify: (loginId: string, code: string, loginOptions?: {
@@ -786,6 +839,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
786
839
  signUp: (loginId: string, password: string, user?: {
787
840
  email?: string;
788
841
  name?: string;
842
+ givenName?: string;
843
+ middleName?: string;
844
+ familyName?: string;
789
845
  phone?: string;
790
846
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
791
847
  signIn: (loginId: string, password: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
@@ -882,7 +938,8 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
882
938
  samlIdpUsername?: string;
883
939
  ssoAppId?: string;
884
940
  abTestingKey?: number;
885
- }, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "preview" | "abTestingKey"> & {
941
+ client?: Record<string, any>;
942
+ }, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "preview" | "abTestingKey" | "client"> & {
886
943
  lastAuth?: Omit<{
887
944
  authMethod?: "webauthn" | "otp" | "oauth" | "saml" | "totp" | "magiclink" | "enchantedlink";
888
945
  oauthProvider?: string;
@@ -963,6 +1020,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
963
1020
  sms: (loginId: string, user?: {
964
1021
  email?: string;
965
1022
  name?: string;
1023
+ givenName?: string;
1024
+ middleName?: string;
1025
+ familyName?: string;
966
1026
  phone?: string;
967
1027
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
968
1028
  maskedPhone: string;
@@ -970,6 +1030,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
970
1030
  whatsapp: (loginId: string, user?: {
971
1031
  email?: string;
972
1032
  name?: string;
1033
+ givenName?: string;
1034
+ middleName?: string;
1035
+ familyName?: string;
973
1036
  phone?: string;
974
1037
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
975
1038
  maskedPhone: string;
@@ -977,6 +1040,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
977
1040
  email: (loginId: string, user?: {
978
1041
  email?: string;
979
1042
  name?: string;
1043
+ givenName?: string;
1044
+ middleName?: string;
1045
+ familyName?: string;
980
1046
  phone?: string;
981
1047
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
982
1048
  maskedEmail: string;
@@ -1033,6 +1099,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1033
1099
  sms: (loginId: string, uri: string, user?: {
1034
1100
  email?: string;
1035
1101
  name?: string;
1102
+ givenName?: string;
1103
+ middleName?: string;
1104
+ familyName?: string;
1036
1105
  phone?: string;
1037
1106
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
1038
1107
  maskedPhone: string;
@@ -1040,6 +1109,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1040
1109
  whatsapp: (loginId: string, uri: string, user?: {
1041
1110
  email?: string;
1042
1111
  name?: string;
1112
+ givenName?: string;
1113
+ middleName?: string;
1114
+ familyName?: string;
1043
1115
  phone?: string;
1044
1116
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
1045
1117
  maskedPhone: string;
@@ -1047,6 +1119,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1047
1119
  email: (loginId: string, uri: string, user?: {
1048
1120
  email?: string;
1049
1121
  name?: string;
1122
+ givenName?: string;
1123
+ middleName?: string;
1124
+ familyName?: string;
1050
1125
  phone?: string;
1051
1126
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
1052
1127
  maskedEmail: string;
@@ -1093,6 +1168,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1093
1168
  signUp: (loginId: string, uri: string, user?: {
1094
1169
  email?: string;
1095
1170
  name?: string;
1171
+ givenName?: string;
1172
+ middleName?: string;
1173
+ familyName?: string;
1096
1174
  phone?: string;
1097
1175
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
1098
1176
  waitForSession: (pendingRef: string, config?: {
@@ -1172,6 +1250,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1172
1250
  signUp: (loginId: string, user?: {
1173
1251
  email?: string;
1174
1252
  name?: string;
1253
+ givenName?: string;
1254
+ middleName?: string;
1255
+ familyName?: string;
1175
1256
  phone?: string;
1176
1257
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
1177
1258
  verify: (loginId: string, code: string, loginOptions?: {
@@ -1185,6 +1266,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1185
1266
  signUp: (loginId: string, password: string, user?: {
1186
1267
  email?: string;
1187
1268
  name?: string;
1269
+ givenName?: string;
1270
+ middleName?: string;
1271
+ familyName?: string;
1188
1272
  phone?: string;
1189
1273
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
1190
1274
  signIn: (loginId: string, password: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
@@ -1272,7 +1356,8 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1272
1356
  samlIdpUsername?: string;
1273
1357
  ssoAppId?: string;
1274
1358
  abTestingKey?: number;
1275
- }, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "preview" | "abTestingKey"> & {
1359
+ client?: Record<string, any>;
1360
+ }, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "preview" | "abTestingKey" | "client"> & {
1276
1361
  lastAuth?: Omit<{
1277
1362
  authMethod?: "webauthn" | "otp" | "oauth" | "saml" | "totp" | "magiclink" | "enchantedlink";
1278
1363
  oauthProvider?: string;
@@ -1353,6 +1438,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1353
1438
  sms: (loginId: string, user?: {
1354
1439
  email?: string;
1355
1440
  name?: string;
1441
+ givenName?: string;
1442
+ middleName?: string;
1443
+ familyName?: string;
1356
1444
  phone?: string;
1357
1445
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
1358
1446
  maskedPhone: string;
@@ -1360,6 +1448,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1360
1448
  whatsapp: (loginId: string, user?: {
1361
1449
  email?: string;
1362
1450
  name?: string;
1451
+ givenName?: string;
1452
+ middleName?: string;
1453
+ familyName?: string;
1363
1454
  phone?: string;
1364
1455
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
1365
1456
  maskedPhone: string;
@@ -1367,6 +1458,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1367
1458
  email: (loginId: string, user?: {
1368
1459
  email?: string;
1369
1460
  name?: string;
1461
+ givenName?: string;
1462
+ middleName?: string;
1463
+ familyName?: string;
1370
1464
  phone?: string;
1371
1465
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
1372
1466
  maskedEmail: string;
@@ -1423,6 +1517,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1423
1517
  sms: (loginId: string, uri: string, user?: {
1424
1518
  email?: string;
1425
1519
  name?: string;
1520
+ givenName?: string;
1521
+ middleName?: string;
1522
+ familyName?: string;
1426
1523
  phone?: string;
1427
1524
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
1428
1525
  maskedPhone: string;
@@ -1430,6 +1527,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1430
1527
  whatsapp: (loginId: string, uri: string, user?: {
1431
1528
  email?: string;
1432
1529
  name?: string;
1530
+ givenName?: string;
1531
+ middleName?: string;
1532
+ familyName?: string;
1433
1533
  phone?: string;
1434
1534
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
1435
1535
  maskedPhone: string;
@@ -1437,6 +1537,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1437
1537
  email: (loginId: string, uri: string, user?: {
1438
1538
  email?: string;
1439
1539
  name?: string;
1540
+ givenName?: string;
1541
+ middleName?: string;
1542
+ familyName?: string;
1440
1543
  phone?: string;
1441
1544
  }) => Promise<_descope_core_js_sdk.SdkResponse<{
1442
1545
  maskedEmail: string;
@@ -1483,6 +1586,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1483
1586
  signUp: (loginId: string, uri: string, user?: {
1484
1587
  email?: string;
1485
1588
  name?: string;
1589
+ givenName?: string;
1590
+ middleName?: string;
1591
+ familyName?: string;
1486
1592
  phone?: string;
1487
1593
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
1488
1594
  waitForSession: (pendingRef: string, config?: {
@@ -1562,6 +1668,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1562
1668
  signUp: (loginId: string, user?: {
1563
1669
  email?: string;
1564
1670
  name?: string;
1671
+ givenName?: string;
1672
+ middleName?: string;
1673
+ familyName?: string;
1565
1674
  phone?: string;
1566
1675
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
1567
1676
  verify: (loginId: string, code: string, loginOptions?: {
@@ -1575,6 +1684,9 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1575
1684
  signUp: (loginId: string, password: string, user?: {
1576
1685
  email?: string;
1577
1686
  name?: string;
1687
+ givenName?: string;
1688
+ middleName?: string;
1689
+ familyName?: string;
1578
1690
  phone?: string;
1579
1691
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
1580
1692
  signIn: (loginId: string, password: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import{__rest as e}from"tslib";import t,{wrapWith as n}from"@descope/core-js-sdk";import{load as a}from"@fingerprintjs/fingerprintjs-pro";import i from"js-cookie";const o=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,a)=>{var i;return n[a]=[].concat((null===(i=e.hooks)||void 0===i?void 0:i[a])||[]).concat((null==t?void 0:t[a])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},r=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json());return(null==t?void 0:t.authInfo)||t||{}},s=async e=>{const t=await r(e);return(null==t?void 0:t.user)||((null==t?void 0:t.hasOwnProperty("userId"))?t:void 0)},l="undefined"!=typeof localStorage,c=(e,t)=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(e,t)),u=e=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(e)),d=e=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(e)),g=(...e)=>{console.debug(...e)},p="undefined"!=typeof window,f=Math.pow(2,31)-1,w=p&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com",b="fp",h=(e=!1)=>{const t=localStorage.getItem(b);if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},v=async e=>{try{if(h())return;const t=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=a({apiKey:e,endpoint:w}),i=await n,{requestId:o}=await i.get({linkedId:t}),r=((e,t)=>({vsid:e,vrid:t}))(t,o);(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};localStorage.setItem(b,JSON.stringify(t))})(r)}catch(e){global.FB_DEBUG&&console.error(e)}},y=()=>{localStorage.removeItem(b)},m=e=>{const t=h(!0);return t&&e.body&&(e.body.fpData=t),e},S="dls_last_user_login_id",O="dls_last_user_display_name",I=()=>u(S),k=()=>u(O),j=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,a={}]=t,i=I(),o=k();i&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=i,a.lastAuth.name=o);return await e(...t)},D=e=>async(...t)=>{const n=await e(...t);return d(S),d(O),n};function U(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const T="DS",A="DSR";const J=(t={},n,a)=>{var{refreshJwt:o,sessionJwt:r}=t,s=e(t,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),void 0===a&&(a=""),o&&c(`${a}${A}`,o),r&&(n?function(e,t,{cookiePath:n,cookieDomain:a,cookieExpiration:o}){if(t){const r=new Date(1e3*o);i.set(e,t,{path:n,domain:a,expires:r,sameSite:"Strict",secure:!0})}}(T,r,s):c(`${a}${T}`,r))};function $(e=""){return u(`${e}${A}`)||""}function K(e=""){d(`${e}${A}`),d(`${e}${T}`),i.remove(T)}const R=e=>t=>async(...n)=>{const a=await t(...n);return K(e),a};async function x(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=E(n.publicKey.challenge),n.publicKey.user.id=E(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=E(e.id)})),n}(e),n=await navigator.credentials.create(t);return a=n,JSON.stringify({id:a.id,rawId:L(a.rawId),type:a.type,response:{attestationObject:L(a.response.attestationObject),clientDataJSON:L(a.response.clientDataJSON)}});var a}async function C(e){const t=P(e);return q(await navigator.credentials.get(t))}async function N(e,t){const n=P(e);n.signal=t.signal,n.mediation="conditional";return q(await navigator.credentials.get(n))}async function _(e=!1){if(!p)return Promise.resolve(!1);const t=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return t&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():t}function P(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=E(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=E(e.id)})),n}function q(e){return JSON.stringify({id:e.id,rawId:L(e.rawId),type:e.type,response:{authenticatorData:L(e.response.authenticatorData),clientDataJSON:L(e.response.clientDataJSON),signature:L(e.response.signature),userHandle:e.response.userHandle?L(e.response.userHandle):void 0}})}function E(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function L(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var H,V=(H=e=>({async signUp(t,n){const a=await e.webauthn.signUp.start(t,window.location.origin,n);if(!a.ok)return a;const i=await x(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,i)},async signIn(t){const n=await e.webauthn.signIn.start(t,window.location.origin);if(!n.ok)return n;const a=await C(n.data.options);return await e.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(t){var n;const a=await e.webauthn.signUpOrIn.start(t,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const t=await x(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,t)}{const t=await C(a.data.options);return await e.webauthn.signIn.finish(a.data.transactionId,t)}},async update(t,n){const a=await e.webauthn.update.start(t,window.location.origin,n);if(!a.ok)return a;const i=await x(a.data.options);return await e.webauthn.update.finish(a.data.transactionId,i)},helpers:{create:x,get:C,isSupported:_,conditional:N}}),(...e)=>{const t=H(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t}),M=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await _(),a=Object.assign(Object.assign({redirectUrl:window.location.href,location:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n}});return t[1]=a,e.flow.start(...t)}});const B=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((t=>n=>{var{fpKey:a,fpLoad:i}=n,r=e(n,["fpKey","fpLoad"]);return p?(a&&i&&v(a).catch((()=>null)),t(o(r,{beforeRequest:m}))):(console.warn("Fingerprint is a client side only capability and will not work when running in the server"),t(r))}),(t=>a=>{var{autoRefresh:i}=a,s=e(a,["autoRefresh"]);if(!i)return t(s);const{clearAllTimers:l,setTimer:c}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})();let u,d;document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&new Date>u&&(g("Expiration time passed, refreshing session"),p.refresh(d))}));const p=t(o(s,{afterRequest:async(e,t)=>{const{refreshJwt:n,sessionJwt:a}=await r(t);if(401===(null==t?void 0:t.status))g("Received 401, canceling all timers"),l();else if(a){u=(e=>{const t=e.split(".");try{if(3===t.length){const e=JSON.parse(window.atob(t[1]));if(e.exp)return new Date(1e3*e.exp)}}catch(e){}return null})(a),d=n;let e=((i=u)?i.getTime()-(new Date).getTime():0)-2e4;e>f&&(g(`Timeout is too large (${e}ms), setting it to ${f}ms`),e=f),l();const t=new Date(Date.now()+e).toLocaleTimeString("en-US",{hour12:!1});g(`Setting refresh timer for ${t}. (${e}ms)`),c((()=>{g("Refreshing session due to timer"),p.refresh(n)}),e)}var i}}));return n(p,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return g("Clearing all timers"),l(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.7.1"},t.baseHeaders)}))),(e=>t=>{const a=U(),i=U(),l=e(o(t,{afterRequest:async(e,t)=>{if(401===(null==t?void 0:t.status))a.pub(null),i.pub(null);else{const e=await s(t);e&&i.pub(e);const{sessionJwt:n}=await r(t);n&&a.pub(n)}}})),c=n(l,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return a.pub(null),i.pub(null),n}));return Object.assign(c,{onSessionTokenChange:a.sub,onUserChange:i.sub})}),(e=>t=>{const a=e(o(t,{afterRequest:async(e,t)=>{var n;const a=await s(t),i=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],o=null==a?void 0:a.name;i&&((e=>{c(S,e)})(i),(e=>{c(O,e)})(o))}}));let i=n(a,["flow.start"],j);return i=n(i,["logout","logoutAll"],D),Object.assign(i,{getLastUserLoginId:I,getLastUserDisplayName:k})}),(t=>a=>{var{persistTokens:s,sessionTokenViaCookie:l,storagePrefix:c}=a,d=e(a,["persistTokens","sessionTokenViaCookie","storagePrefix"]);if(!s||!p)return s&&console.warn("Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server"),t(d);const g=t(o(d,{beforeRequest:(f=c,e=>Object.assign(e,{token:e.token||$(f)})),afterRequest:async(e,t)=>{401===(null==t?void 0:t.status)?K(c):J(await r(t),l,c)}}));var f;const w=n(g,["logout","logoutAll"],R(c));return Object.assign(w,{getRefreshToken:()=>$(c),getSessionToken:()=>function(e=""){return i.get(T)||u(`${e}${T}`)||""}(c)})}))(((...e)=>{const n=t(...e);return Object.assign(Object.assign({},n),{flow:M(n),webauthn:V(n)})}));export{A as REFRESH_TOKEN_KEY,T as SESSION_TOKEN_KEY,y as clearFingerprintData,B as default,v as ensureFingerprintIds};
1
+ import{__rest as e}from"tslib";import t,{wrapWith as n}from"@descope/core-js-sdk";import{load as a}from"@fingerprintjs/fingerprintjs-pro";import i from"js-cookie";const o=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,a)=>{var i;return n[a]=[].concat((null===(i=e.hooks)||void 0===i?void 0:i[a])||[]).concat((null==t?void 0:t[a])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},r=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json());return(null==t?void 0:t.authInfo)||t||{}},s=async e=>{const t=await r(e);return(null==t?void 0:t.user)||((null==t?void 0:t.hasOwnProperty("userId"))?t:void 0)},l="undefined"!=typeof localStorage,c=(e,t)=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(e,t)),u=e=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(e)),d=e=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(e)),g=(...e)=>{console.debug(...e)},p="undefined"!=typeof window,f=Math.pow(2,31)-1,w=p&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com",b="fp",h=(e=!1)=>{const t=localStorage.getItem(b);if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},v=async e=>{try{if(h())return;const t=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=a({apiKey:e,endpoint:w}),i=await n,{requestId:o}=await i.get({linkedId:t}),r=((e,t)=>({vsid:e,vrid:t}))(t,o);(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};localStorage.setItem(b,JSON.stringify(t))})(r)}catch(e){global.FB_DEBUG&&console.error(e)}},y=()=>{localStorage.removeItem(b)},m=e=>{const t=h(!0);return t&&e.body&&(e.body.fpData=t),e},S="dls_last_user_login_id",O="dls_last_user_display_name",I=()=>u(S),k=()=>u(O),j=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,a={}]=t,i=I(),o=k();i&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=i,a.lastAuth.name=o);return await e(...t)},D=e=>async(...t)=>{const n=await e(...t);return d(S),d(O),n};function U(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const T="DS",A="DSR";const J=(t={},n,a)=>{var{refreshJwt:o,sessionJwt:r}=t,s=e(t,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),void 0===a&&(a=""),o&&c(`${a}${A}`,o),r&&(n?function(e,t,{cookiePath:n,cookieDomain:a,cookieExpiration:o}){if(t){const r=new Date(1e3*o);i.set(e,t,{path:n,domain:a,expires:r,sameSite:"Strict",secure:!0})}}(T,r,s):c(`${a}${T}`,r))};function $(e=""){return u(`${e}${A}`)||""}function K(e=""){d(`${e}${A}`),d(`${e}${T}`),i.remove(T)}const R=e=>t=>async(...n)=>{const a=await t(...n);return K(e),a};async function x(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=E(n.publicKey.challenge),n.publicKey.user.id=E(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=E(e.id)})),n}(e),n=await navigator.credentials.create(t);return a=n,JSON.stringify({id:a.id,rawId:L(a.rawId),type:a.type,response:{attestationObject:L(a.response.attestationObject),clientDataJSON:L(a.response.clientDataJSON)}});var a}async function C(e){const t=P(e);return q(await navigator.credentials.get(t))}async function N(e,t){const n=P(e);n.signal=t.signal,n.mediation="conditional";return q(await navigator.credentials.get(n))}async function _(e=!1){if(!p)return Promise.resolve(!1);const t=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return t&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():t}function P(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=E(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=E(e.id)})),n}function q(e){return JSON.stringify({id:e.id,rawId:L(e.rawId),type:e.type,response:{authenticatorData:L(e.response.authenticatorData),clientDataJSON:L(e.response.clientDataJSON),signature:L(e.response.signature),userHandle:e.response.userHandle?L(e.response.userHandle):void 0}})}function E(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function L(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var H,V=(H=e=>({async signUp(t,n){const a=await e.webauthn.signUp.start(t,window.location.origin,n);if(!a.ok)return a;const i=await x(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,i)},async signIn(t){const n=await e.webauthn.signIn.start(t,window.location.origin);if(!n.ok)return n;const a=await C(n.data.options);return await e.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(t){var n;const a=await e.webauthn.signUpOrIn.start(t,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const t=await x(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,t)}{const t=await C(a.data.options);return await e.webauthn.signIn.finish(a.data.transactionId,t)}},async update(t,n){const a=await e.webauthn.update.start(t,window.location.origin,n);if(!a.ok)return a;const i=await x(a.data.options);return await e.webauthn.update.finish(a.data.transactionId,i)},helpers:{create:x,get:C,isSupported:_,conditional:N}}),(...e)=>{const t=H(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t}),M=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await _(),a=Object.assign(Object.assign({redirectUrl:window.location.href,location:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n}});return t[1]=a,e.flow.start(...t)}});const B=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((t=>n=>{var{fpKey:a,fpLoad:i}=n,r=e(n,["fpKey","fpLoad"]);return p?(a&&i&&v(a).catch((()=>null)),t(o(r,{beforeRequest:m}))):(console.warn("Fingerprint is a client side only capability and will not work when running in the server"),t(r))}),(t=>a=>{var{autoRefresh:i}=a,s=e(a,["autoRefresh"]);if(!i)return t(s);const{clearAllTimers:l,setTimer:c}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})();let u,d;document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&new Date>u&&(g("Expiration time passed, refreshing session"),p.refresh(d))}));const p=t(o(s,{afterRequest:async(e,t)=>{const{refreshJwt:n,sessionJwt:a}=await r(t);if(401===(null==t?void 0:t.status))g("Received 401, canceling all timers"),l();else if(a){u=(e=>{const t=e.split(".");try{if(3===t.length){const e=JSON.parse(window.atob(t[1]));if(e.exp)return new Date(1e3*e.exp)}}catch(e){}return null})(a),d=n;let e=((i=u)?i.getTime()-(new Date).getTime():0)-2e4;e>f&&(g(`Timeout is too large (${e}ms), setting it to ${f}ms`),e=f),l();const t=new Date(Date.now()+e).toLocaleTimeString("en-US",{hour12:!1});g(`Setting refresh timer for ${t}. (${e}ms)`),c((()=>{g("Refreshing session due to timer"),p.refresh(n)}),e)}var i}}));return n(p,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return g("Clearing all timers"),l(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.8.0"},t.baseHeaders)}))),(e=>t=>{const a=U(),i=U(),l=e(o(t,{afterRequest:async(e,t)=>{if(401===(null==t?void 0:t.status))a.pub(null),i.pub(null);else{const e=await s(t);e&&i.pub(e);const{sessionJwt:n}=await r(t);n&&a.pub(n)}}})),c=n(l,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return a.pub(null),i.pub(null),n}));return Object.assign(c,{onSessionTokenChange:a.sub,onUserChange:i.sub})}),(e=>t=>{const a=e(o(t,{afterRequest:async(e,t)=>{var n;const a=await s(t),i=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],o=null==a?void 0:a.name;i&&((e=>{c(S,e)})(i),(e=>{c(O,e)})(o))}}));let i=n(a,["flow.start"],j);return i=n(i,["logout","logoutAll"],D),Object.assign(i,{getLastUserLoginId:I,getLastUserDisplayName:k})}),(t=>a=>{var{persistTokens:s,sessionTokenViaCookie:l,storagePrefix:c}=a,d=e(a,["persistTokens","sessionTokenViaCookie","storagePrefix"]);if(!s||!p)return s&&console.warn("Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server"),t(d);const g=t(o(d,{beforeRequest:(f=c,e=>Object.assign(e,{token:e.token||$(f)})),afterRequest:async(e,t)=>{401===(null==t?void 0:t.status)?K(c):J(await r(t),l,c)}}));var f;const w=n(g,["logout","logoutAll"],R(c));return Object.assign(w,{getRefreshToken:()=>$(c),getSessionToken:()=>function(e=""){return i.get(T)||u(`${e}${T}`)||""}(c)})}))(((...e)=>{const n=t(...e);return Object.assign(Object.assign({},n),{flow:M(n),webauthn:V(n)})}));export{A as REFRESH_TOKEN_KEY,T as SESSION_TOKEN_KEY,y as clearFingerprintData,B as default,v as ensureFingerprintIds};
2
2
  //# sourceMappingURL=index.esm.js.map