dauth-context-react 1.0.3 → 2.1.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/api/dauth.api.d.ts +5 -6
- package/dist/api/interfaces/dauth.api.responses.d.ts +3 -3
- package/dist/constants.d.ts +1 -0
- package/dist/dauth-context-react.cjs.development.js +325 -322
- package/dist/dauth-context-react.cjs.development.js.map +1 -1
- package/dist/dauth-context-react.cjs.production.min.js +1 -1
- package/dist/dauth-context-react.cjs.production.min.js.map +1 -1
- package/dist/dauth-context-react.esm.js +326 -323
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/interfaces.d.ts +4 -1
- package/dist/reducer/dauth.actions.d.ts +11 -11
- package/package.json +1 -1
- package/src/api/dauth.api.ts +24 -16
- package/src/api/interfaces/dauth.api.responses.ts +3 -3
- package/src/constants.ts +1 -0
- package/src/index.tsx +69 -80
- package/src/interfaces.ts +4 -9
- package/src/reducer/dauth.actions.ts +82 -78
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useReducer, useCallback, useEffect, useMemo, createContext, useContext } from 'react';
|
|
1
|
+
import React, { useReducer, useRef, useCallback, useEffect, useMemo, createContext, useContext } from 'react';
|
|
2
2
|
|
|
3
3
|
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
4
4
|
try {
|
|
@@ -350,92 +350,83 @@ var sendEmailVerificationAPI = /*#__PURE__*/function () {
|
|
|
350
350
|
return _ref3.apply(this, arguments);
|
|
351
351
|
};
|
|
352
352
|
}();
|
|
353
|
-
var
|
|
354
|
-
var
|
|
353
|
+
var refreshTokenAPI = /*#__PURE__*/function () {
|
|
354
|
+
var _ref5 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(domainName, refreshToken) {
|
|
355
355
|
var params, response, data;
|
|
356
|
-
return _regenerator().w(function (
|
|
357
|
-
while (1) switch (
|
|
356
|
+
return _regenerator().w(function (_context5) {
|
|
357
|
+
while (1) switch (_context5.n) {
|
|
358
358
|
case 0:
|
|
359
359
|
params = {
|
|
360
|
-
method: '
|
|
360
|
+
method: 'POST',
|
|
361
361
|
headers: {
|
|
362
|
-
Authorization: token,
|
|
363
362
|
'Content-Type': 'application/json'
|
|
364
|
-
}
|
|
363
|
+
},
|
|
364
|
+
body: JSON.stringify({
|
|
365
|
+
refreshToken: refreshToken
|
|
366
|
+
})
|
|
365
367
|
};
|
|
366
|
-
|
|
367
|
-
return fetch(getServerBasePath() + "/app/" + domainName + "/refresh-
|
|
368
|
+
_context5.n = 1;
|
|
369
|
+
return fetch(getServerBasePath() + "/app/" + domainName + "/refresh-token", params);
|
|
368
370
|
case 1:
|
|
369
|
-
response =
|
|
370
|
-
|
|
371
|
+
response = _context5.v;
|
|
372
|
+
_context5.n = 2;
|
|
371
373
|
return response.json();
|
|
372
374
|
case 2:
|
|
373
|
-
data =
|
|
374
|
-
return
|
|
375
|
+
data = _context5.v;
|
|
376
|
+
return _context5.a(2, {
|
|
375
377
|
response: response,
|
|
376
378
|
data: data
|
|
377
379
|
});
|
|
378
380
|
}
|
|
379
|
-
},
|
|
381
|
+
}, _callee5);
|
|
380
382
|
}));
|
|
381
|
-
return function
|
|
382
|
-
return
|
|
383
|
+
return function refreshTokenAPI(_x0, _x1) {
|
|
384
|
+
return _ref5.apply(this, arguments);
|
|
383
385
|
};
|
|
384
386
|
}();
|
|
385
|
-
var
|
|
386
|
-
var _ref6 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
387
|
-
var
|
|
388
|
-
return _regenerator().w(function (
|
|
389
|
-
while (1) switch (
|
|
387
|
+
var logoutAPI = /*#__PURE__*/function () {
|
|
388
|
+
var _ref6 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(domainName, refreshToken) {
|
|
389
|
+
var params, response;
|
|
390
|
+
return _regenerator().w(function (_context6) {
|
|
391
|
+
while (1) switch (_context6.n) {
|
|
390
392
|
case 0:
|
|
391
|
-
domainName = _ref5.domainName, tsk = _ref5.tsk, token = _ref5.token;
|
|
392
393
|
params = {
|
|
393
394
|
method: 'POST',
|
|
394
395
|
headers: {
|
|
395
|
-
Authorization: token,
|
|
396
396
|
'Content-Type': 'application/json'
|
|
397
397
|
},
|
|
398
398
|
body: JSON.stringify({
|
|
399
|
-
|
|
399
|
+
refreshToken: refreshToken
|
|
400
400
|
})
|
|
401
401
|
};
|
|
402
|
-
|
|
403
|
-
return fetch(getServerBasePath() + "/app/" + domainName + "/
|
|
402
|
+
_context6.n = 1;
|
|
403
|
+
return fetch(getServerBasePath() + "/app/" + domainName + "/logout", params);
|
|
404
404
|
case 1:
|
|
405
|
-
response =
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
case 2:
|
|
409
|
-
data = _context5.v;
|
|
410
|
-
return _context5.a(2, {
|
|
411
|
-
response: response,
|
|
412
|
-
data: data
|
|
405
|
+
response = _context6.v;
|
|
406
|
+
return _context6.a(2, {
|
|
407
|
+
response: response
|
|
413
408
|
});
|
|
414
409
|
}
|
|
415
|
-
},
|
|
410
|
+
}, _callee6);
|
|
416
411
|
}));
|
|
417
|
-
return function
|
|
412
|
+
return function logoutAPI(_x10, _x11) {
|
|
418
413
|
return _ref6.apply(this, arguments);
|
|
419
414
|
};
|
|
420
415
|
}();
|
|
421
416
|
|
|
422
417
|
var TOKEN_LS = 'dauth_state';
|
|
423
|
-
|
|
424
|
-
var routes = {
|
|
425
|
-
signin: 'signin',
|
|
426
|
-
updateUser: 'update-user'
|
|
427
|
-
};
|
|
418
|
+
var REFRESH_TOKEN_LS = 'dauth_refresh_token';
|
|
428
419
|
|
|
429
420
|
function setDauthStateAction(_x) {
|
|
430
421
|
return _setDauthStateAction.apply(this, arguments);
|
|
431
422
|
}
|
|
432
423
|
function _setDauthStateAction() {
|
|
433
424
|
_setDauthStateAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref) {
|
|
434
|
-
var dispatch, token, domainName, getUserFetch, _t;
|
|
425
|
+
var dispatch, token, refreshToken, domainName, getUserFetch, _t;
|
|
435
426
|
return _regenerator().w(function (_context) {
|
|
436
427
|
while (1) switch (_context.p = _context.n) {
|
|
437
428
|
case 0:
|
|
438
|
-
dispatch = _ref.dispatch, token = _ref.token, domainName = _ref.domainName;
|
|
429
|
+
dispatch = _ref.dispatch, token = _ref.token, refreshToken = _ref.refreshToken, domainName = _ref.domainName;
|
|
439
430
|
dispatch({
|
|
440
431
|
type: SET_IS_LOADING,
|
|
441
432
|
payload: {
|
|
@@ -460,7 +451,9 @@ function _setDauthStateAction() {
|
|
|
460
451
|
}
|
|
461
452
|
});
|
|
462
453
|
window.history.replaceState({}, document.title, window.location.pathname);
|
|
463
|
-
|
|
454
|
+
localStorage.setItem(TOKEN_LS, token);
|
|
455
|
+
localStorage.setItem(REFRESH_TOKEN_LS, refreshToken);
|
|
456
|
+
return _context.a(2);
|
|
464
457
|
case 3:
|
|
465
458
|
return _context.a(2, resetUser(dispatch));
|
|
466
459
|
case 4:
|
|
@@ -492,29 +485,45 @@ function setAutoLoginAction(_x2) {
|
|
|
492
485
|
}
|
|
493
486
|
function _setAutoLoginAction() {
|
|
494
487
|
_setAutoLoginAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref2) {
|
|
495
|
-
var dispatch,
|
|
488
|
+
var dispatch, domainName, storedRefreshToken, refreshResult, newAccessToken, newRefreshToken, getUserFetch, _t2;
|
|
496
489
|
return _regenerator().w(function (_context2) {
|
|
497
490
|
while (1) switch (_context2.p = _context2.n) {
|
|
498
491
|
case 0:
|
|
499
|
-
dispatch = _ref2.dispatch,
|
|
492
|
+
dispatch = _ref2.dispatch, domainName = _ref2.domainName;
|
|
500
493
|
dispatch({
|
|
501
494
|
type: SET_IS_LOADING,
|
|
502
495
|
payload: {
|
|
503
496
|
isLoading: true
|
|
504
497
|
}
|
|
505
498
|
});
|
|
499
|
+
storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);
|
|
500
|
+
if (storedRefreshToken) {
|
|
501
|
+
_context2.n = 1;
|
|
502
|
+
break;
|
|
503
|
+
}
|
|
504
|
+
dispatch({
|
|
505
|
+
type: SET_IS_LOADING,
|
|
506
|
+
payload: {
|
|
507
|
+
isLoading: false
|
|
508
|
+
}
|
|
509
|
+
});
|
|
510
|
+
return _context2.a(2, resetUser(dispatch));
|
|
511
|
+
case 1:
|
|
506
512
|
_context2.p = 1;
|
|
507
513
|
_context2.n = 2;
|
|
508
|
-
return
|
|
514
|
+
return refreshTokenAPI(domainName, storedRefreshToken);
|
|
509
515
|
case 2:
|
|
510
|
-
|
|
511
|
-
if (!(
|
|
512
|
-
_context2.n =
|
|
516
|
+
refreshResult = _context2.v;
|
|
517
|
+
if (!(refreshResult.response.status === 200)) {
|
|
518
|
+
_context2.n = 4;
|
|
513
519
|
break;
|
|
514
520
|
}
|
|
515
|
-
|
|
521
|
+
newAccessToken = refreshResult.data.accessToken;
|
|
522
|
+
newRefreshToken = refreshResult.data.refreshToken;
|
|
523
|
+
localStorage.setItem(TOKEN_LS, newAccessToken);
|
|
524
|
+
localStorage.setItem(REFRESH_TOKEN_LS, newRefreshToken);
|
|
516
525
|
_context2.n = 3;
|
|
517
|
-
return getUserAPI(domainName,
|
|
526
|
+
return getUserAPI(domainName, newAccessToken);
|
|
518
527
|
case 3:
|
|
519
528
|
getUserFetch = _context2.v;
|
|
520
529
|
if (!(getUserFetch.response.status === 200)) {
|
|
@@ -529,132 +538,197 @@ function _setAutoLoginAction() {
|
|
|
529
538
|
isAuthenticated: true
|
|
530
539
|
}
|
|
531
540
|
});
|
|
532
|
-
localStorage.setItem(TOKEN_LS, refreshAccessTokenFetch.data.accessToken);
|
|
533
541
|
return _context2.a(2);
|
|
534
542
|
case 4:
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
_context2.n = 7;
|
|
539
|
-
break;
|
|
540
|
-
case 6:
|
|
541
|
-
window.location.replace(getClientBasePath() + "/" + domainName + "/" + routes.signin);
|
|
542
|
-
return _context2.a(2, resetUser(dispatch));
|
|
543
|
-
case 7:
|
|
544
|
-
_context2.n = 9;
|
|
543
|
+
// Refresh failed — session expired
|
|
544
|
+
resetUser(dispatch);
|
|
545
|
+
_context2.n = 6;
|
|
545
546
|
break;
|
|
546
|
-
case
|
|
547
|
-
_context2.p =
|
|
547
|
+
case 5:
|
|
548
|
+
_context2.p = 5;
|
|
548
549
|
_t2 = _context2.v;
|
|
549
550
|
console.error(_t2);
|
|
550
|
-
|
|
551
|
-
case
|
|
552
|
-
_context2.p =
|
|
551
|
+
resetUser(dispatch);
|
|
552
|
+
case 6:
|
|
553
|
+
_context2.p = 6;
|
|
553
554
|
dispatch({
|
|
554
555
|
type: SET_IS_LOADING,
|
|
555
556
|
payload: {
|
|
556
557
|
isLoading: false
|
|
557
558
|
}
|
|
558
559
|
});
|
|
559
|
-
return _context2.f(
|
|
560
|
-
case
|
|
560
|
+
return _context2.f(6);
|
|
561
|
+
case 7:
|
|
561
562
|
return _context2.a(2);
|
|
562
563
|
}
|
|
563
|
-
}, _callee2, null, [[1,
|
|
564
|
+
}, _callee2, null, [[1, 5, 6, 7]]);
|
|
564
565
|
}));
|
|
565
566
|
return _setAutoLoginAction.apply(this, arguments);
|
|
566
567
|
}
|
|
567
|
-
function setLogoutAction(
|
|
568
|
-
|
|
569
|
-
dispatch({
|
|
570
|
-
type: SET_IS_LOADING,
|
|
571
|
-
payload: {
|
|
572
|
-
isLoading: true
|
|
573
|
-
}
|
|
574
|
-
});
|
|
575
|
-
dispatch({
|
|
576
|
-
type: LOGIN,
|
|
577
|
-
payload: {
|
|
578
|
-
user: {
|
|
579
|
-
language: window.document.documentElement.getAttribute('lang') || 'es'
|
|
580
|
-
},
|
|
581
|
-
domain: {},
|
|
582
|
-
isAuthenticated: false
|
|
583
|
-
}
|
|
584
|
-
});
|
|
585
|
-
localStorage.removeItem(TOKEN_LS);
|
|
586
|
-
return dispatch({
|
|
587
|
-
type: SET_IS_LOADING,
|
|
588
|
-
payload: {
|
|
589
|
-
isLoading: false
|
|
590
|
-
}
|
|
591
|
-
});
|
|
568
|
+
function setLogoutAction(_x3) {
|
|
569
|
+
return _setLogoutAction.apply(this, arguments);
|
|
592
570
|
}
|
|
593
|
-
function
|
|
571
|
+
function _setLogoutAction() {
|
|
572
|
+
_setLogoutAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref3) {
|
|
573
|
+
var dispatch, domainName, storedRefreshToken;
|
|
574
|
+
return _regenerator().w(function (_context3) {
|
|
575
|
+
while (1) switch (_context3.p = _context3.n) {
|
|
576
|
+
case 0:
|
|
577
|
+
dispatch = _ref3.dispatch, domainName = _ref3.domainName;
|
|
578
|
+
storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);
|
|
579
|
+
if (!(storedRefreshToken && domainName)) {
|
|
580
|
+
_context3.n = 4;
|
|
581
|
+
break;
|
|
582
|
+
}
|
|
583
|
+
_context3.p = 1;
|
|
584
|
+
_context3.n = 2;
|
|
585
|
+
return logoutAPI(domainName, storedRefreshToken);
|
|
586
|
+
case 2:
|
|
587
|
+
_context3.n = 4;
|
|
588
|
+
break;
|
|
589
|
+
case 3:
|
|
590
|
+
_context3.p = 3;
|
|
591
|
+
case 4:
|
|
592
|
+
dispatch({
|
|
593
|
+
type: SET_IS_LOADING,
|
|
594
|
+
payload: {
|
|
595
|
+
isLoading: true
|
|
596
|
+
}
|
|
597
|
+
});
|
|
598
|
+
dispatch({
|
|
599
|
+
type: LOGIN,
|
|
600
|
+
payload: {
|
|
601
|
+
user: {
|
|
602
|
+
language: window.document.documentElement.getAttribute('lang') || 'es'
|
|
603
|
+
},
|
|
604
|
+
domain: {},
|
|
605
|
+
isAuthenticated: false
|
|
606
|
+
}
|
|
607
|
+
});
|
|
608
|
+
localStorage.removeItem(TOKEN_LS);
|
|
609
|
+
localStorage.removeItem(REFRESH_TOKEN_LS);
|
|
610
|
+
return _context3.a(2, dispatch({
|
|
611
|
+
type: SET_IS_LOADING,
|
|
612
|
+
payload: {
|
|
613
|
+
isLoading: false
|
|
614
|
+
}
|
|
615
|
+
}));
|
|
616
|
+
}
|
|
617
|
+
}, _callee3, null, [[1, 3]]);
|
|
618
|
+
}));
|
|
619
|
+
return _setLogoutAction.apply(this, arguments);
|
|
620
|
+
}
|
|
621
|
+
function refreshSessionAction(_x4) {
|
|
622
|
+
return _refreshSessionAction.apply(this, arguments);
|
|
623
|
+
}
|
|
624
|
+
function _refreshSessionAction() {
|
|
625
|
+
_refreshSessionAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(_ref4) {
|
|
626
|
+
var dispatch, domainName, storedRefreshToken, refreshResult, _t4;
|
|
627
|
+
return _regenerator().w(function (_context4) {
|
|
628
|
+
while (1) switch (_context4.p = _context4.n) {
|
|
629
|
+
case 0:
|
|
630
|
+
dispatch = _ref4.dispatch, domainName = _ref4.domainName;
|
|
631
|
+
storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);
|
|
632
|
+
if (storedRefreshToken) {
|
|
633
|
+
_context4.n = 1;
|
|
634
|
+
break;
|
|
635
|
+
}
|
|
636
|
+
return _context4.a(2, resetUser(dispatch));
|
|
637
|
+
case 1:
|
|
638
|
+
_context4.p = 1;
|
|
639
|
+
_context4.n = 2;
|
|
640
|
+
return refreshTokenAPI(domainName, storedRefreshToken);
|
|
641
|
+
case 2:
|
|
642
|
+
refreshResult = _context4.v;
|
|
643
|
+
if (!(refreshResult.response.status === 200)) {
|
|
644
|
+
_context4.n = 3;
|
|
645
|
+
break;
|
|
646
|
+
}
|
|
647
|
+
localStorage.setItem(TOKEN_LS, refreshResult.data.accessToken);
|
|
648
|
+
localStorage.setItem(REFRESH_TOKEN_LS, refreshResult.data.refreshToken);
|
|
649
|
+
return _context4.a(2);
|
|
650
|
+
case 3:
|
|
651
|
+
// Refresh failed — revoked or expired
|
|
652
|
+
resetUser(dispatch);
|
|
653
|
+
_context4.n = 5;
|
|
654
|
+
break;
|
|
655
|
+
case 4:
|
|
656
|
+
_context4.p = 4;
|
|
657
|
+
_t4 = _context4.v;
|
|
658
|
+
console.error(_t4);
|
|
659
|
+
resetUser(dispatch);
|
|
660
|
+
case 5:
|
|
661
|
+
return _context4.a(2);
|
|
662
|
+
}
|
|
663
|
+
}, _callee4, null, [[1, 4]]);
|
|
664
|
+
}));
|
|
665
|
+
return _refreshSessionAction.apply(this, arguments);
|
|
666
|
+
}
|
|
667
|
+
function setUpdateUserAction(_x5) {
|
|
594
668
|
return _setUpdateUserAction.apply(this, arguments);
|
|
595
669
|
}
|
|
596
670
|
function _setUpdateUserAction() {
|
|
597
|
-
_setUpdateUserAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
598
|
-
var dispatch, domainName, user, token, getUserFetch,
|
|
599
|
-
return _regenerator().w(function (
|
|
600
|
-
while (1) switch (
|
|
671
|
+
_setUpdateUserAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(_ref5) {
|
|
672
|
+
var dispatch, domainName, user, token, getUserFetch, _t5;
|
|
673
|
+
return _regenerator().w(function (_context5) {
|
|
674
|
+
while (1) switch (_context5.p = _context5.n) {
|
|
601
675
|
case 0:
|
|
602
|
-
dispatch =
|
|
676
|
+
dispatch = _ref5.dispatch, domainName = _ref5.domainName, user = _ref5.user, token = _ref5.token;
|
|
603
677
|
if (user.language) {
|
|
604
678
|
window.document.documentElement.setAttribute('lang', user.language);
|
|
605
679
|
}
|
|
606
680
|
if (token) {
|
|
607
|
-
|
|
681
|
+
_context5.n = 1;
|
|
608
682
|
break;
|
|
609
683
|
}
|
|
610
684
|
dispatch({
|
|
611
685
|
type: UPDATE_USER,
|
|
612
686
|
payload: user
|
|
613
687
|
});
|
|
614
|
-
return
|
|
688
|
+
return _context5.a(2, false);
|
|
615
689
|
case 1:
|
|
616
|
-
|
|
617
|
-
|
|
690
|
+
_context5.p = 1;
|
|
691
|
+
_context5.n = 2;
|
|
618
692
|
return updateUserAPI(domainName, user, token);
|
|
619
693
|
case 2:
|
|
620
|
-
getUserFetch =
|
|
694
|
+
getUserFetch = _context5.v;
|
|
621
695
|
if (!(getUserFetch.response.status === 200)) {
|
|
622
|
-
|
|
696
|
+
_context5.n = 3;
|
|
623
697
|
break;
|
|
624
698
|
}
|
|
625
699
|
dispatch({
|
|
626
700
|
type: UPDATE_USER,
|
|
627
701
|
payload: getUserFetch.data.user
|
|
628
702
|
});
|
|
629
|
-
return
|
|
703
|
+
return _context5.a(2, true);
|
|
630
704
|
case 3:
|
|
631
705
|
console.error('Update user error', getUserFetch.data.message);
|
|
632
|
-
return
|
|
706
|
+
return _context5.a(2, false);
|
|
633
707
|
case 4:
|
|
634
|
-
|
|
708
|
+
_context5.n = 6;
|
|
635
709
|
break;
|
|
636
710
|
case 5:
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
console.error('Update user error',
|
|
640
|
-
return
|
|
711
|
+
_context5.p = 5;
|
|
712
|
+
_t5 = _context5.v;
|
|
713
|
+
console.error('Update user error', _t5);
|
|
714
|
+
return _context5.a(2, false);
|
|
641
715
|
case 6:
|
|
642
|
-
return
|
|
716
|
+
return _context5.a(2);
|
|
643
717
|
}
|
|
644
|
-
},
|
|
718
|
+
}, _callee5, null, [[1, 5]]);
|
|
645
719
|
}));
|
|
646
720
|
return _setUpdateUserAction.apply(this, arguments);
|
|
647
721
|
}
|
|
648
|
-
function sendEmailVerificationAction(
|
|
722
|
+
function sendEmailVerificationAction(_x6) {
|
|
649
723
|
return _sendEmailVerificationAction.apply(this, arguments);
|
|
650
724
|
}
|
|
651
725
|
function _sendEmailVerificationAction() {
|
|
652
|
-
_sendEmailVerificationAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
726
|
+
_sendEmailVerificationAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(_ref6) {
|
|
653
727
|
var dispatch, domainName, token, sendEmailFetch;
|
|
654
|
-
return _regenerator().w(function (
|
|
655
|
-
while (1) switch (
|
|
728
|
+
return _regenerator().w(function (_context6) {
|
|
729
|
+
while (1) switch (_context6.p = _context6.n) {
|
|
656
730
|
case 0:
|
|
657
|
-
dispatch =
|
|
731
|
+
dispatch = _ref6.dispatch, domainName = _ref6.domainName, token = _ref6.token;
|
|
658
732
|
dispatch({
|
|
659
733
|
type: SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
|
|
660
734
|
payload: true
|
|
@@ -666,13 +740,13 @@ function _sendEmailVerificationAction() {
|
|
|
666
740
|
message: 'Sending email verification...'
|
|
667
741
|
}
|
|
668
742
|
});
|
|
669
|
-
|
|
670
|
-
|
|
743
|
+
_context6.p = 1;
|
|
744
|
+
_context6.n = 2;
|
|
671
745
|
return sendEmailVerificationAPI(domainName, token);
|
|
672
746
|
case 2:
|
|
673
|
-
sendEmailFetch =
|
|
747
|
+
sendEmailFetch = _context6.v;
|
|
674
748
|
if (!(sendEmailFetch.response.status === 200)) {
|
|
675
|
-
|
|
749
|
+
_context6.n = 3;
|
|
676
750
|
break;
|
|
677
751
|
}
|
|
678
752
|
dispatch({
|
|
@@ -686,7 +760,7 @@ function _sendEmailVerificationAction() {
|
|
|
686
760
|
type: SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
|
|
687
761
|
payload: false
|
|
688
762
|
});
|
|
689
|
-
return
|
|
763
|
+
return _context6.a(2, true);
|
|
690
764
|
case 3:
|
|
691
765
|
dispatch({
|
|
692
766
|
type: SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
@@ -699,12 +773,12 @@ function _sendEmailVerificationAction() {
|
|
|
699
773
|
type: SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
|
|
700
774
|
payload: false
|
|
701
775
|
});
|
|
702
|
-
return
|
|
776
|
+
return _context6.a(2, false);
|
|
703
777
|
case 4:
|
|
704
|
-
|
|
778
|
+
_context6.n = 6;
|
|
705
779
|
break;
|
|
706
780
|
case 5:
|
|
707
|
-
|
|
781
|
+
_context6.p = 5;
|
|
708
782
|
dispatch({
|
|
709
783
|
type: SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
710
784
|
payload: {
|
|
@@ -716,104 +790,68 @@ function _sendEmailVerificationAction() {
|
|
|
716
790
|
type: SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
|
|
717
791
|
payload: false
|
|
718
792
|
});
|
|
719
|
-
return
|
|
793
|
+
return _context6.a(2, false);
|
|
720
794
|
case 6:
|
|
721
|
-
return
|
|
795
|
+
return _context6.a(2);
|
|
722
796
|
}
|
|
723
|
-
},
|
|
797
|
+
}, _callee6, null, [[1, 5]]);
|
|
724
798
|
}));
|
|
725
799
|
return _sendEmailVerificationAction.apply(this, arguments);
|
|
726
800
|
}
|
|
727
|
-
function
|
|
728
|
-
return _checkTokenAction.apply(this, arguments);
|
|
729
|
-
}
|
|
730
|
-
function _checkTokenAction() {
|
|
731
|
-
_checkTokenAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(_ref6) {
|
|
732
|
-
var dispatch, domainName, token, refreshAccessTokenFetch, _t5;
|
|
733
|
-
return _regenerator().w(function (_context5) {
|
|
734
|
-
while (1) switch (_context5.p = _context5.n) {
|
|
735
|
-
case 0:
|
|
736
|
-
dispatch = _ref6.dispatch, domainName = _ref6.domainName, token = _ref6.token;
|
|
737
|
-
_context5.p = 1;
|
|
738
|
-
_context5.n = 2;
|
|
739
|
-
return refreshAccessTokenAPI(domainName, token);
|
|
740
|
-
case 2:
|
|
741
|
-
refreshAccessTokenFetch = _context5.v;
|
|
742
|
-
if (!(refreshAccessTokenFetch.response.status === 200)) {
|
|
743
|
-
_context5.n = 3;
|
|
744
|
-
break;
|
|
745
|
-
}
|
|
746
|
-
if (refreshAccessTokenFetch.data.accessToken) {
|
|
747
|
-
localStorage.setItem(TOKEN_LS, refreshAccessTokenFetch.data.accessToken);
|
|
748
|
-
}
|
|
749
|
-
return _context5.a(2);
|
|
750
|
-
case 3:
|
|
751
|
-
window.location.replace(getClientBasePath() + "/" + domainName + "/" + routes.signin);
|
|
752
|
-
return _context5.a(2, resetUser(dispatch));
|
|
753
|
-
case 4:
|
|
754
|
-
_context5.n = 6;
|
|
755
|
-
break;
|
|
756
|
-
case 5:
|
|
757
|
-
_context5.p = 5;
|
|
758
|
-
_t5 = _context5.v;
|
|
759
|
-
resetUser(dispatch);
|
|
760
|
-
throw _t5;
|
|
761
|
-
case 6:
|
|
762
|
-
return _context5.a(2);
|
|
763
|
-
}
|
|
764
|
-
}, _callee5, null, [[1, 5]]);
|
|
765
|
-
}));
|
|
766
|
-
return _checkTokenAction.apply(this, arguments);
|
|
767
|
-
}
|
|
768
|
-
function getAccessTokenAction(_x6) {
|
|
801
|
+
function getAccessTokenAction(_x7) {
|
|
769
802
|
return _getAccessTokenAction.apply(this, arguments);
|
|
770
803
|
}
|
|
771
804
|
///////////////////////////////////////////
|
|
772
805
|
//////////////////////////////////////////
|
|
773
806
|
function _getAccessTokenAction() {
|
|
774
|
-
_getAccessTokenAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
775
|
-
var dispatch, domainName, token_ls,
|
|
776
|
-
return _regenerator().w(function (
|
|
777
|
-
while (1) switch (
|
|
807
|
+
_getAccessTokenAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(_ref7) {
|
|
808
|
+
var dispatch, domainName, token_ls, payloadB64, payload, expiresIn, refreshedToken;
|
|
809
|
+
return _regenerator().w(function (_context7) {
|
|
810
|
+
while (1) switch (_context7.p = _context7.n) {
|
|
778
811
|
case 0:
|
|
779
812
|
dispatch = _ref7.dispatch, domainName = _ref7.domainName;
|
|
780
813
|
token_ls = localStorage.getItem(TOKEN_LS);
|
|
781
814
|
if (token_ls) {
|
|
782
|
-
|
|
815
|
+
_context7.n = 1;
|
|
783
816
|
break;
|
|
784
817
|
}
|
|
785
|
-
return
|
|
818
|
+
return _context7.a(2, 'token-not-found');
|
|
786
819
|
case 1:
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
refreshAccessTokenFetch = _context6.v;
|
|
792
|
-
if (!(refreshAccessTokenFetch.response.status === 200)) {
|
|
793
|
-
_context6.n = 3;
|
|
820
|
+
_context7.p = 1;
|
|
821
|
+
payloadB64 = token_ls.split('.')[1];
|
|
822
|
+
if (!payloadB64) {
|
|
823
|
+
_context7.n = 3;
|
|
794
824
|
break;
|
|
795
825
|
}
|
|
796
|
-
|
|
826
|
+
payload = JSON.parse(atob(payloadB64));
|
|
827
|
+
expiresIn = (payload.exp || 0) * 1000 - Date.now(); // If token expires in less than 5 minutes, refresh proactively
|
|
828
|
+
if (!(expiresIn < 5 * 60 * 1000)) {
|
|
829
|
+
_context7.n = 3;
|
|
830
|
+
break;
|
|
831
|
+
}
|
|
832
|
+
_context7.n = 2;
|
|
833
|
+
return refreshSessionAction({
|
|
834
|
+
dispatch: dispatch,
|
|
835
|
+
domainName: domainName
|
|
836
|
+
});
|
|
837
|
+
case 2:
|
|
838
|
+
refreshedToken = localStorage.getItem(TOKEN_LS);
|
|
839
|
+
return _context7.a(2, refreshedToken || 'token-not-found');
|
|
797
840
|
case 3:
|
|
798
|
-
|
|
799
|
-
return _context6.a(2, 'token-not-found');
|
|
800
|
-
case 4:
|
|
801
|
-
_context6.n = 6;
|
|
841
|
+
_context7.n = 5;
|
|
802
842
|
break;
|
|
843
|
+
case 4:
|
|
844
|
+
_context7.p = 4;
|
|
803
845
|
case 5:
|
|
804
|
-
|
|
805
|
-
_t6 = _context6.v;
|
|
806
|
-
resetUser(dispatch);
|
|
807
|
-
throw _t6;
|
|
808
|
-
case 6:
|
|
809
|
-
return _context6.a(2);
|
|
846
|
+
return _context7.a(2, token_ls);
|
|
810
847
|
}
|
|
811
|
-
},
|
|
848
|
+
}, _callee7, null, [[1, 4]]);
|
|
812
849
|
}));
|
|
813
850
|
return _getAccessTokenAction.apply(this, arguments);
|
|
814
851
|
}
|
|
815
852
|
var resetUser = function resetUser(dispatch) {
|
|
816
853
|
localStorage.removeItem(TOKEN_LS);
|
|
854
|
+
localStorage.removeItem(REFRESH_TOKEN_LS);
|
|
817
855
|
return dispatch({
|
|
818
856
|
type: LOGIN,
|
|
819
857
|
payload: {
|
|
@@ -824,91 +862,70 @@ var resetUser = function resetUser(dispatch) {
|
|
|
824
862
|
});
|
|
825
863
|
};
|
|
826
864
|
|
|
865
|
+
var routes = {
|
|
866
|
+
signin: 'signin',
|
|
867
|
+
updateUser: 'update-user'
|
|
868
|
+
};
|
|
869
|
+
|
|
827
870
|
var DauthProvider = function DauthProvider(props) {
|
|
828
871
|
var domainName = props.domainName,
|
|
829
|
-
tsk = props.tsk,
|
|
830
872
|
children = props.children;
|
|
831
873
|
var _useReducer = useReducer(userReducer, initialDauthState),
|
|
832
874
|
dauthState = _useReducer[0],
|
|
833
875
|
dispatch = _useReducer[1];
|
|
834
|
-
var
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
var interval = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
870
|
-
var token_ls, isValid;
|
|
871
|
-
return _regenerator().w(function (_context2) {
|
|
872
|
-
while (1) switch (_context2.n) {
|
|
873
|
-
case 0:
|
|
874
|
-
token_ls = localStorage.getItem(TOKEN_LS);
|
|
875
|
-
if (token_ls) {
|
|
876
|
+
var refreshTimerRef = useRef(null);
|
|
877
|
+
// Schedule next proactive refresh based on access token expiry
|
|
878
|
+
var scheduleRefresh = useCallback(function () {
|
|
879
|
+
if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);
|
|
880
|
+
var token = localStorage.getItem(TOKEN_LS);
|
|
881
|
+
if (!token) return;
|
|
882
|
+
try {
|
|
883
|
+
var payloadB64 = token.split('.')[1];
|
|
884
|
+
if (!payloadB64) return;
|
|
885
|
+
var payload = JSON.parse(atob(payloadB64));
|
|
886
|
+
var expiresIn = (payload.exp || 0) * 1000 - Date.now();
|
|
887
|
+
// Refresh 5 minutes before expiry, minimum 10 seconds
|
|
888
|
+
var refreshIn = Math.max(expiresIn - 5 * 60 * 1000, 10000);
|
|
889
|
+
refreshTimerRef.current = setTimeout(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
890
|
+
return _regenerator().w(function (_context) {
|
|
891
|
+
while (1) switch (_context.n) {
|
|
892
|
+
case 0:
|
|
893
|
+
_context.n = 1;
|
|
894
|
+
return refreshSessionAction({
|
|
895
|
+
dispatch: dispatch,
|
|
896
|
+
domainName: domainName
|
|
897
|
+
});
|
|
898
|
+
case 1:
|
|
899
|
+
scheduleRefresh();
|
|
900
|
+
case 2:
|
|
901
|
+
return _context.a(2);
|
|
902
|
+
}
|
|
903
|
+
}, _callee);
|
|
904
|
+
})), refreshIn);
|
|
905
|
+
} catch (_) {
|
|
906
|
+
// If decode fails, retry in 5 minutes
|
|
907
|
+
refreshTimerRef.current = setTimeout(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
908
|
+
return _regenerator().w(function (_context2) {
|
|
909
|
+
while (1) switch (_context2.n) {
|
|
910
|
+
case 0:
|
|
876
911
|
_context2.n = 1;
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
dispatch: dispatch,
|
|
891
|
-
domainName: domainName,
|
|
892
|
-
token: token_ls
|
|
893
|
-
}));
|
|
894
|
-
case 3:
|
|
895
|
-
setLogoutAction({
|
|
896
|
-
dispatch: dispatch
|
|
897
|
-
});
|
|
898
|
-
throw new Error('Ask value in DauthProvider is not valid');
|
|
899
|
-
case 4:
|
|
900
|
-
return _context2.a(2);
|
|
901
|
-
}
|
|
902
|
-
}, _callee2);
|
|
903
|
-
})), 1000 * 60 * 5);
|
|
904
|
-
return function () {
|
|
905
|
-
return clearInterval(interval);
|
|
906
|
-
};
|
|
907
|
-
}, [dauthState.isAuthenticated, isValidTsk]);
|
|
912
|
+
return refreshSessionAction({
|
|
913
|
+
dispatch: dispatch,
|
|
914
|
+
domainName: domainName
|
|
915
|
+
});
|
|
916
|
+
case 1:
|
|
917
|
+
scheduleRefresh();
|
|
918
|
+
case 2:
|
|
919
|
+
return _context2.a(2);
|
|
920
|
+
}
|
|
921
|
+
}, _callee2);
|
|
922
|
+
})), 5 * 60 * 1000);
|
|
923
|
+
}
|
|
924
|
+
}, [domainName]);
|
|
908
925
|
// Catch login redirect
|
|
909
926
|
useEffect(function () {
|
|
910
927
|
_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
911
|
-
var queryString, urlParams, token_url,
|
|
928
|
+
var queryString, urlParams, token_url, refresh_url;
|
|
912
929
|
return _regenerator().w(function (_context3) {
|
|
913
930
|
while (1) switch (_context3.n) {
|
|
914
931
|
case 0:
|
|
@@ -921,29 +938,18 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
921
938
|
case 1:
|
|
922
939
|
urlParams = new URLSearchParams(queryString);
|
|
923
940
|
token_url = urlParams.get(TOKEN_LS);
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
}
|
|
928
|
-
_context3.n = 2;
|
|
929
|
-
return isValidTsk(token_url);
|
|
930
|
-
case 2:
|
|
931
|
-
isValid = _context3.v;
|
|
932
|
-
if (!isValid) {
|
|
933
|
-
_context3.n = 3;
|
|
941
|
+
refresh_url = urlParams.get(REFRESH_TOKEN_LS);
|
|
942
|
+
if (!(token_url && refresh_url && !dauthState.isAuthenticated)) {
|
|
943
|
+
_context3.n = 2;
|
|
934
944
|
break;
|
|
935
945
|
}
|
|
936
946
|
return _context3.a(2, setDauthStateAction({
|
|
937
947
|
dispatch: dispatch,
|
|
938
948
|
token: token_url,
|
|
949
|
+
refreshToken: refresh_url,
|
|
939
950
|
domainName: domainName
|
|
940
951
|
}));
|
|
941
|
-
case
|
|
942
|
-
setLogoutAction({
|
|
943
|
-
dispatch: dispatch
|
|
944
|
-
});
|
|
945
|
-
throw new Error('Ask value in DauthProvider is not valid');
|
|
946
|
-
case 4:
|
|
952
|
+
case 2:
|
|
947
953
|
return _context3.a(2);
|
|
948
954
|
}
|
|
949
955
|
}, _callee3);
|
|
@@ -952,57 +958,51 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
952
958
|
// Auto Login
|
|
953
959
|
useEffect(function () {
|
|
954
960
|
_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
|
|
955
|
-
var
|
|
961
|
+
var refreshToken;
|
|
956
962
|
return _regenerator().w(function (_context4) {
|
|
957
963
|
while (1) switch (_context4.n) {
|
|
958
964
|
case 0:
|
|
959
|
-
|
|
960
|
-
if (!(
|
|
961
|
-
_context4.n =
|
|
962
|
-
break;
|
|
963
|
-
}
|
|
964
|
-
_context4.n = 1;
|
|
965
|
-
return isValidTsk(token_ls);
|
|
966
|
-
case 1:
|
|
967
|
-
isValid = _context4.v;
|
|
968
|
-
if (!isValid) {
|
|
969
|
-
_context4.n = 2;
|
|
965
|
+
refreshToken = localStorage.getItem(REFRESH_TOKEN_LS);
|
|
966
|
+
if (!(refreshToken && !dauthState.isAuthenticated)) {
|
|
967
|
+
_context4.n = 1;
|
|
970
968
|
break;
|
|
971
969
|
}
|
|
972
970
|
return _context4.a(2, setAutoLoginAction({
|
|
973
971
|
dispatch: dispatch,
|
|
974
|
-
token_ls: token_ls,
|
|
975
972
|
domainName: domainName
|
|
976
973
|
}));
|
|
977
|
-
case
|
|
978
|
-
setLogoutAction({
|
|
979
|
-
dispatch: dispatch
|
|
980
|
-
});
|
|
981
|
-
throw new Error('Ask value in DauthProvider is not valid');
|
|
982
|
-
case 3:
|
|
983
|
-
_context4.n = 5;
|
|
984
|
-
break;
|
|
985
|
-
case 4:
|
|
974
|
+
case 1:
|
|
986
975
|
return _context4.a(2, dispatch({
|
|
987
976
|
type: SET_IS_LOADING,
|
|
988
977
|
payload: {
|
|
989
978
|
isLoading: false
|
|
990
979
|
}
|
|
991
980
|
}));
|
|
992
|
-
case
|
|
981
|
+
case 2:
|
|
993
982
|
return _context4.a(2);
|
|
994
983
|
}
|
|
995
984
|
}, _callee4);
|
|
996
985
|
}))();
|
|
997
986
|
}, []);
|
|
987
|
+
// Schedule proactive refresh when authenticated
|
|
988
|
+
useEffect(function () {
|
|
989
|
+
if (dauthState.isAuthenticated) {
|
|
990
|
+
scheduleRefresh();
|
|
991
|
+
}
|
|
992
|
+
return function () {
|
|
993
|
+
if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);
|
|
994
|
+
};
|
|
995
|
+
}, [dauthState.isAuthenticated, scheduleRefresh]);
|
|
998
996
|
var loginWithRedirect = useCallback(function () {
|
|
999
997
|
return window.location.replace(getClientBasePath() + "/" + domainName + "/" + routes.signin);
|
|
1000
998
|
}, [domainName]);
|
|
1001
999
|
var logout = useCallback(function () {
|
|
1000
|
+
if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);
|
|
1002
1001
|
return setLogoutAction({
|
|
1003
|
-
dispatch: dispatch
|
|
1002
|
+
dispatch: dispatch,
|
|
1003
|
+
domainName: domainName
|
|
1004
1004
|
});
|
|
1005
|
-
}, []);
|
|
1005
|
+
}, [domainName]);
|
|
1006
1006
|
var getAccessToken = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
|
|
1007
1007
|
var token;
|
|
1008
1008
|
return _regenerator().w(function (_context5) {
|
|
@@ -1020,13 +1020,13 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1020
1020
|
}, _callee5);
|
|
1021
1021
|
})), [domainName]);
|
|
1022
1022
|
var updateUser = useCallback(/*#__PURE__*/function () {
|
|
1023
|
-
var
|
|
1024
|
-
var name, lastname, nickname, telPrefix, telSuffix, language, avatar,
|
|
1023
|
+
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(fields) {
|
|
1024
|
+
var token_ls, name, lastname, nickname, telPrefix, telSuffix, language, avatar, birthDate, country, metadata, user;
|
|
1025
1025
|
return _regenerator().w(function (_context6) {
|
|
1026
1026
|
while (1) switch (_context6.n) {
|
|
1027
1027
|
case 0:
|
|
1028
|
-
name = _ref6.name, lastname = _ref6.lastname, nickname = _ref6.nickname, telPrefix = _ref6.telPrefix, telSuffix = _ref6.telSuffix, language = _ref6.language, avatar = _ref6.avatar;
|
|
1029
1028
|
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1029
|
+
name = fields.name, lastname = fields.lastname, nickname = fields.nickname, telPrefix = fields.telPrefix, telSuffix = fields.telSuffix, language = fields.language, avatar = fields.avatar, birthDate = fields.birthDate, country = fields.country, metadata = fields.metadata;
|
|
1030
1030
|
user = {
|
|
1031
1031
|
name: name,
|
|
1032
1032
|
lastname: lastname,
|
|
@@ -1034,7 +1034,10 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1034
1034
|
telPrefix: telPrefix,
|
|
1035
1035
|
telSuffix: telSuffix,
|
|
1036
1036
|
language: language,
|
|
1037
|
-
avatar: avatar
|
|
1037
|
+
avatar: avatar,
|
|
1038
|
+
birthDate: birthDate,
|
|
1039
|
+
country: country,
|
|
1040
|
+
metadata: metadata
|
|
1038
1041
|
};
|
|
1039
1042
|
_context6.n = 1;
|
|
1040
1043
|
return setUpdateUserAction({
|
|
@@ -1048,8 +1051,8 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1048
1051
|
}
|
|
1049
1052
|
}, _callee6);
|
|
1050
1053
|
}));
|
|
1051
|
-
return function (
|
|
1052
|
-
return
|
|
1054
|
+
return function (_x) {
|
|
1055
|
+
return _ref6.apply(this, arguments);
|
|
1053
1056
|
};
|
|
1054
1057
|
}(), [domainName]);
|
|
1055
1058
|
var updateUserWithRedirect = useCallback(function () {
|