@plasmicapp/auth-react 0.0.8 → 0.0.11
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/auth-react.cjs.development.js +70 -60
- package/dist/auth-react.cjs.development.js.map +1 -1
- package/dist/auth-react.cjs.production.min.js +1 -1
- package/dist/auth-react.cjs.production.min.js.map +1 -1
- package/dist/auth-react.esm.js +71 -61
- package/dist/auth-react.esm.js.map +1 -1
- package/dist/hooks.d.ts +2 -1
- package/package.json +4 -4
|
@@ -337,8 +337,9 @@ function _asyncToGenerator(fn) {
|
|
|
337
337
|
};
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
-
var
|
|
341
|
-
|
|
340
|
+
var storageUserKey = function storageUserKey(appId) {
|
|
341
|
+
return "$user." + appId;
|
|
342
|
+
};
|
|
342
343
|
var isBrowser = typeof window !== 'undefined';
|
|
343
344
|
function getCallbackParams() {
|
|
344
345
|
var params = new URLSearchParams(window.location.search);
|
|
@@ -376,10 +377,13 @@ function isContinueToSameLocation(continueTo) {
|
|
|
376
377
|
return continueTo === pathname || continueTo === origin + pathname;
|
|
377
378
|
}
|
|
378
379
|
function handleCallback(_x) {
|
|
379
|
-
return
|
|
380
|
+
return _handleCallback.apply(this, arguments);
|
|
381
|
+
}
|
|
382
|
+
function _handleCallback() {
|
|
383
|
+
_handleCallback = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opts) {
|
|
380
384
|
var host, appId, code, state, codeVerifier, continueTo, parsedState, result;
|
|
381
|
-
return _regeneratorRuntime().wrap(function
|
|
382
|
-
while (1) switch (
|
|
385
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
386
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
383
387
|
case 0:
|
|
384
388
|
host = opts.host, appId = opts.appId, code = opts.code, state = opts.state, codeVerifier = opts.codeVerifier;
|
|
385
389
|
continueTo = '/';
|
|
@@ -391,7 +395,7 @@ function handleCallback(_x) {
|
|
|
391
395
|
} catch (err) {
|
|
392
396
|
console.error("Error while parsing state: " + err);
|
|
393
397
|
}
|
|
394
|
-
|
|
398
|
+
_context2.next = 5;
|
|
395
399
|
return authApi.getPlasmicAppUser({
|
|
396
400
|
host: host,
|
|
397
401
|
appId: appId,
|
|
@@ -399,135 +403,140 @@ function handleCallback(_x) {
|
|
|
399
403
|
codeVerifier: codeVerifier
|
|
400
404
|
});
|
|
401
405
|
case 5:
|
|
402
|
-
result =
|
|
406
|
+
result = _context2.sent;
|
|
403
407
|
if (!result.error) {
|
|
404
|
-
|
|
408
|
+
_context2.next = 9;
|
|
405
409
|
break;
|
|
406
410
|
}
|
|
407
411
|
console.log("Error while performing code exchange: " + result.error);
|
|
408
|
-
return
|
|
412
|
+
return _context2.abrupt("return", undefined);
|
|
409
413
|
case 9:
|
|
410
|
-
localStorage.setItem(
|
|
414
|
+
localStorage.setItem(storageUserKey(appId), result.token);
|
|
411
415
|
if (!isContinueToSameLocation(continueTo)) {
|
|
412
416
|
window.location.assign(continueTo);
|
|
413
417
|
} else {
|
|
414
418
|
removeCallbackParams();
|
|
415
419
|
}
|
|
416
|
-
return
|
|
420
|
+
return _context2.abrupt("return", {
|
|
417
421
|
token: result.token,
|
|
418
422
|
user: result.user
|
|
419
423
|
});
|
|
420
424
|
case 12:
|
|
421
425
|
case "end":
|
|
422
|
-
return
|
|
426
|
+
return _context2.stop();
|
|
423
427
|
}
|
|
424
|
-
},
|
|
425
|
-
}))
|
|
428
|
+
}, _callee2);
|
|
429
|
+
}));
|
|
430
|
+
return _handleCallback.apply(this, arguments);
|
|
426
431
|
}
|
|
427
432
|
function checkAlreadyLoggedUser(_x2) {
|
|
428
|
-
return
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
433
|
+
return _checkAlreadyLoggedUser.apply(this, arguments);
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Handles the authentication flow for Plasmic Auth and returns the user and token
|
|
437
|
+
*/
|
|
438
|
+
function _checkAlreadyLoggedUser() {
|
|
439
|
+
_checkAlreadyLoggedUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(opts) {
|
|
440
|
+
var appId, host, token, _yield$getPlasmicAppU, user, error;
|
|
441
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
442
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
432
443
|
case 0:
|
|
433
|
-
host = opts.host;
|
|
434
|
-
token = localStorage.getItem(
|
|
444
|
+
appId = opts.appId, host = opts.host;
|
|
445
|
+
token = localStorage.getItem(storageUserKey(appId));
|
|
435
446
|
if (token) {
|
|
436
|
-
|
|
447
|
+
_context3.next = 4;
|
|
437
448
|
break;
|
|
438
449
|
}
|
|
439
|
-
return
|
|
450
|
+
return _context3.abrupt("return", {
|
|
440
451
|
user: null,
|
|
441
452
|
token: null
|
|
442
453
|
});
|
|
443
454
|
case 4:
|
|
444
|
-
|
|
455
|
+
_context3.next = 6;
|
|
445
456
|
return authApi.getPlasmicAppUserFromToken({
|
|
446
457
|
host: host,
|
|
447
458
|
token: token
|
|
448
459
|
});
|
|
449
460
|
case 6:
|
|
450
|
-
_yield$getPlasmicAppU =
|
|
461
|
+
_yield$getPlasmicAppU = _context3.sent;
|
|
451
462
|
user = _yield$getPlasmicAppU.user;
|
|
452
463
|
error = _yield$getPlasmicAppU.error;
|
|
453
464
|
if (!error) {
|
|
454
|
-
|
|
465
|
+
_context3.next = 13;
|
|
455
466
|
break;
|
|
456
467
|
}
|
|
457
468
|
// If there is an error, we just remove the token
|
|
458
469
|
// But ideally we should check if the reason is token expired
|
|
459
|
-
localStorage.removeItem(
|
|
470
|
+
localStorage.removeItem(storageUserKey(appId));
|
|
460
471
|
console.log("Error while checking logged user");
|
|
461
|
-
return
|
|
472
|
+
return _context3.abrupt("return", {
|
|
462
473
|
user: null,
|
|
463
474
|
token: null
|
|
464
475
|
});
|
|
465
476
|
case 13:
|
|
466
|
-
return
|
|
477
|
+
return _context3.abrupt("return", {
|
|
467
478
|
user: user,
|
|
468
479
|
token: token
|
|
469
480
|
});
|
|
470
481
|
case 14:
|
|
471
482
|
case "end":
|
|
472
|
-
return
|
|
483
|
+
return _context3.stop();
|
|
473
484
|
}
|
|
474
|
-
},
|
|
475
|
-
}))
|
|
485
|
+
}, _callee3);
|
|
486
|
+
}));
|
|
487
|
+
return _checkAlreadyLoggedUser.apply(this, arguments);
|
|
476
488
|
}
|
|
477
|
-
/**
|
|
478
|
-
* Handles the authentication flow for Plasmic Auth and returns the user and token
|
|
479
|
-
*/
|
|
480
489
|
function usePlasmicAuth(opts) {
|
|
481
490
|
var host = opts.host,
|
|
482
491
|
appId = opts.appId;
|
|
483
492
|
var authKey = "$csq$plasmic-auth-" + appId;
|
|
484
|
-
var _useMutablePlasmicQue = query.useMutablePlasmicQueryData(authKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
493
|
+
var _useMutablePlasmicQue = query.useMutablePlasmicQueryData(authKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
485
494
|
var callbackParams, codeVerifier, result;
|
|
486
|
-
return _regeneratorRuntime().wrap(function
|
|
487
|
-
while (1) switch (
|
|
495
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
496
|
+
while (1) switch (_context.prev = _context.next) {
|
|
488
497
|
case 0:
|
|
489
498
|
if (!(!appId || !isBrowser)) {
|
|
490
|
-
|
|
499
|
+
_context.next = 2;
|
|
491
500
|
break;
|
|
492
501
|
}
|
|
493
|
-
return
|
|
502
|
+
return _context.abrupt("return", {
|
|
494
503
|
user: null,
|
|
495
504
|
token: null
|
|
496
505
|
});
|
|
497
506
|
case 2:
|
|
498
|
-
|
|
507
|
+
_context.prev = 2;
|
|
499
508
|
// We first check if we are currently in the callback flow
|
|
500
509
|
callbackParams = getCallbackParams();
|
|
501
510
|
if (!(callbackParams.isCallbackError || callbackParams.isCodeExchange)) {
|
|
502
|
-
|
|
511
|
+
_context.next = 27;
|
|
503
512
|
break;
|
|
504
513
|
}
|
|
505
514
|
if (!callbackParams.isCallbackError) {
|
|
506
|
-
|
|
515
|
+
_context.next = 11;
|
|
507
516
|
break;
|
|
508
517
|
}
|
|
509
518
|
// If there is an error, we just remove the callback params
|
|
510
519
|
removeCallbackParams();
|
|
511
520
|
console.error("Error: " + callbackParams.error);
|
|
512
|
-
return
|
|
521
|
+
return _context.abrupt("return", {
|
|
513
522
|
user: null,
|
|
514
523
|
token: null
|
|
515
524
|
});
|
|
516
525
|
case 11:
|
|
517
526
|
codeVerifier = getCodeVerifier();
|
|
518
527
|
if (codeVerifier) {
|
|
519
|
-
|
|
528
|
+
_context.next = 18;
|
|
520
529
|
break;
|
|
521
530
|
}
|
|
522
531
|
// If there is no codeVerifier, we just remove the callback params
|
|
523
532
|
removeCallbackParams();
|
|
524
533
|
console.error('No code verifier found');
|
|
525
|
-
return
|
|
534
|
+
return _context.abrupt("return", {
|
|
526
535
|
user: null,
|
|
527
536
|
token: null
|
|
528
537
|
});
|
|
529
538
|
case 18:
|
|
530
|
-
|
|
539
|
+
_context.next = 20;
|
|
531
540
|
return handleCallback({
|
|
532
541
|
host: host,
|
|
533
542
|
appId: appId,
|
|
@@ -536,45 +545,46 @@ function usePlasmicAuth(opts) {
|
|
|
536
545
|
codeVerifier: codeVerifier
|
|
537
546
|
});
|
|
538
547
|
case 20:
|
|
539
|
-
result =
|
|
548
|
+
result = _context.sent;
|
|
540
549
|
if (result) {
|
|
541
|
-
|
|
550
|
+
_context.next = 24;
|
|
542
551
|
break;
|
|
543
552
|
}
|
|
544
553
|
removeCallbackParams();
|
|
545
|
-
return
|
|
554
|
+
return _context.abrupt("return", {
|
|
546
555
|
user: null,
|
|
547
556
|
token: null
|
|
548
557
|
});
|
|
549
558
|
case 24:
|
|
550
|
-
return
|
|
559
|
+
return _context.abrupt("return", result);
|
|
551
560
|
case 25:
|
|
552
|
-
|
|
561
|
+
_context.next = 30;
|
|
553
562
|
break;
|
|
554
563
|
case 27:
|
|
555
|
-
|
|
564
|
+
_context.next = 29;
|
|
556
565
|
return checkAlreadyLoggedUser({
|
|
566
|
+
appId: appId,
|
|
557
567
|
host: host
|
|
558
568
|
});
|
|
559
569
|
case 29:
|
|
560
|
-
return
|
|
570
|
+
return _context.abrupt("return", _context.sent);
|
|
561
571
|
case 30:
|
|
562
|
-
|
|
572
|
+
_context.next = 35;
|
|
563
573
|
break;
|
|
564
574
|
case 32:
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
console.error("Error while handling auth: " +
|
|
575
|
+
_context.prev = 32;
|
|
576
|
+
_context.t0 = _context["catch"](2);
|
|
577
|
+
console.error("Error while handling auth: " + _context.t0);
|
|
568
578
|
case 35:
|
|
569
|
-
return
|
|
579
|
+
return _context.abrupt("return", {
|
|
570
580
|
user: null,
|
|
571
581
|
token: null
|
|
572
582
|
});
|
|
573
583
|
case 36:
|
|
574
584
|
case "end":
|
|
575
|
-
return
|
|
585
|
+
return _context.stop();
|
|
576
586
|
}
|
|
577
|
-
},
|
|
587
|
+
}, _callee, null, [[2, 32]]);
|
|
578
588
|
}))),
|
|
579
589
|
userData = _useMutablePlasmicQue.data,
|
|
580
590
|
isLoading = _useMutablePlasmicQue.isLoading;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-react.cjs.development.js","sources":["../src/hooks.ts"],"sourcesContent":["import {\n getPlasmicAppUser,\n getPlasmicAppUserFromToken,\n} from '@plasmicapp/auth-api';\nimport { useMutablePlasmicQueryData } from '@plasmicapp/query';\n\ninterface PlasmicAuthData {\n user: any;\n token: string | null;\n}\n\nconst STORAGE_USER_KEY = 'plasmic_user';\nconst isBrowser = typeof window !== 'undefined';\n\nfunction getCallbackParams() {\n const params = new URLSearchParams(window.location.search);\n const error = params.get('error');\n const code = params.get('code');\n const state = params.get('state');\n\n return {\n isCallbackError: !!error,\n isCodeExchange: !!code && !!state,\n error,\n code,\n state,\n };\n}\n\nfunction getCodeVerifier() {\n try {\n return localStorage.getItem('code_verifier');\n } catch (err) {\n return null;\n }\n}\n\nfunction removeCallbackParams() {\n try {\n window.history.replaceState({}, '', location.pathname);\n } catch (err) {\n console.error(`Error while removing callback params: ${err}`);\n }\n}\n\n// continueTo can be only a pathname or a full url with origin\n// we can consider that currently we are at the callback page\n// with callback params, so ignore the search params\nfunction isContinueToSameLocation(continueTo: string) {\n const pathname = window.location.pathname;\n const origin = window.location.origin;\n return continueTo === pathname || continueTo === origin + pathname;\n}\n\nasync function handleCallback(opts: {\n host?: string;\n appId: string;\n code: string;\n state: string;\n codeVerifier: string;\n}): Promise<PlasmicAuthData | undefined> {\n const { host, appId, code, state, codeVerifier } = opts;\n\n let continueTo = '/';\n try {\n if (state) {\n const parsedState = JSON.parse(state);\n continueTo = parsedState.continueTo;\n }\n } catch (err) {\n console.error(`Error while parsing state: ${err}`);\n }\n\n const result = await getPlasmicAppUser({\n host,\n appId,\n code,\n codeVerifier,\n });\n\n if (result.error) {\n console.log(`Error while performing code exchange: ${result.error}`);\n return undefined;\n }\n\n localStorage.setItem(STORAGE_USER_KEY, result.token);\n\n if (!isContinueToSameLocation(continueTo)) {\n window.location.assign(continueTo);\n } else {\n removeCallbackParams();\n }\n\n return { token: result.token, user: result.user };\n}\n\nasync function checkAlreadyLoggedUser(opts: {\n host?: string;\n}): Promise<PlasmicAuthData> {\n const { host } = opts;\n\n const token = localStorage.getItem(STORAGE_USER_KEY);\n if (!token) {\n return { user: null, token: null };\n }\n\n const { user, error } = await getPlasmicAppUserFromToken({\n host,\n token,\n });\n\n if (error) {\n // If there is an error, we just remove the token\n // But ideally we should check if the reason is token expired\n localStorage.removeItem(STORAGE_USER_KEY);\n console.log(`Error while checking logged user`);\n return { user: null, token: null };\n }\n\n return { user, token };\n}\n\n/**\n * Handles the authentication flow for Plasmic Auth and returns the user and token\n */\nexport function usePlasmicAuth(opts: { host?: string; appId?: string }) {\n const { host, appId } = opts;\n const authKey = `$csq$plasmic-auth-${appId}`;\n const { data: userData, isLoading } = useMutablePlasmicQueryData(\n authKey,\n async (): Promise<PlasmicAuthData> => {\n if (!appId || !isBrowser) {\n return { user: null, token: null };\n }\n\n // Fail silently for now\n try {\n // We first check if we are currently in the callback flow\n const callbackParams = getCallbackParams();\n if (callbackParams.isCallbackError || callbackParams.isCodeExchange) {\n if (callbackParams.isCallbackError) {\n // If there is an error, we just remove the callback params\n removeCallbackParams();\n console.error(`Error: ${callbackParams.error}`);\n return { user: null, token: null };\n } else {\n const codeVerifier = getCodeVerifier();\n if (!codeVerifier) {\n // If there is no codeVerifier, we just remove the callback params\n removeCallbackParams();\n console.error('No code verifier found');\n return { user: null, token: null };\n } else {\n // Perform code exchange, by the end of the callback handling we will either still be\n // in the callback page or we will be redirected to the continueTo page.\n\n const result = await handleCallback({\n host,\n appId,\n code: callbackParams.code!,\n state: callbackParams.state!,\n codeVerifier,\n });\n\n // Undefined result means that the code exchange failed\n if (!result) {\n removeCallbackParams();\n return { user: null, token: null };\n }\n\n // In the above case where the code exchange failed and the callback page requires login\n // a login redirect will be triggered\n return result;\n }\n }\n } else {\n return await checkAlreadyLoggedUser({\n host,\n });\n }\n } catch (err) {\n console.error(`Error while handling auth: ${err}`);\n }\n\n return { user: null, token: null };\n }\n );\n\n return {\n user: userData?.user,\n token: userData?.token,\n isUserLoading: isLoading,\n };\n}\n"],"names":["STORAGE_USER_KEY","isBrowser","window","getCallbackParams","params","URLSearchParams","location","search","error","get","code","state","isCallbackError","isCodeExchange","getCodeVerifier","localStorage","getItem","err","removeCallbackParams","history","replaceState","pathname","console","isContinueToSameLocation","continueTo","origin","handleCallback","_x","_handleCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","opts","host","appId","codeVerifier","parsedState","result","wrap","_callee$","_context","prev","next","JSON","parse","getPlasmicAppUser","sent","log","abrupt","undefined","setItem","token","assign","user","stop","apply","arguments","checkAlreadyLoggedUser","_x2","_checkAlreadyLoggedUser","_callee2","_yield$getPlasmicAppU","_callee2$","_context2","getPlasmicAppUserFromToken","removeItem","usePlasmicAuth","authKey","_useMutablePlasmicQue","useMutablePlasmicQueryData","_callee3","callbackParams","_callee3$","_context3","t0","userData","data","isLoading","isUserLoading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth-react.cjs.development.js","sources":["../src/hooks.ts"],"sourcesContent":["import {\n getPlasmicAppUser,\n getPlasmicAppUserFromToken,\n PlasmicUser,\n} from '@plasmicapp/auth-api';\nimport { useMutablePlasmicQueryData } from '@plasmicapp/query';\n\ninterface PlasmicAuthData {\n user: PlasmicUser | null;\n token: string | null;\n}\n\nconst storageUserKey = (appId: string) => `$user.${appId}`;\n\nconst isBrowser = typeof window !== 'undefined';\n\nfunction getCallbackParams() {\n const params = new URLSearchParams(window.location.search);\n const error = params.get('error');\n const code = params.get('code');\n const state = params.get('state');\n\n return {\n isCallbackError: !!error,\n isCodeExchange: !!code && !!state,\n error,\n code,\n state,\n };\n}\n\nfunction getCodeVerifier() {\n try {\n return localStorage.getItem('code_verifier');\n } catch (err) {\n return null;\n }\n}\n\nfunction removeCallbackParams() {\n try {\n window.history.replaceState({}, '', location.pathname);\n } catch (err) {\n console.error(`Error while removing callback params: ${err}`);\n }\n}\n\n// continueTo can be only a pathname or a full url with origin\n// we can consider that currently we are at the callback page\n// with callback params, so ignore the search params\nfunction isContinueToSameLocation(continueTo: string) {\n const pathname = window.location.pathname;\n const origin = window.location.origin;\n return continueTo === pathname || continueTo === origin + pathname;\n}\n\nasync function handleCallback(opts: {\n host?: string;\n appId: string;\n code: string;\n state: string;\n codeVerifier: string;\n}): Promise<PlasmicAuthData | undefined> {\n const { host, appId, code, state, codeVerifier } = opts;\n\n let continueTo = '/';\n try {\n if (state) {\n const parsedState = JSON.parse(state);\n continueTo = parsedState.continueTo;\n }\n } catch (err) {\n console.error(`Error while parsing state: ${err}`);\n }\n\n const result = await getPlasmicAppUser({\n host,\n appId,\n code,\n codeVerifier,\n });\n\n if (result.error) {\n console.log(`Error while performing code exchange: ${result.error}`);\n return undefined;\n }\n\n localStorage.setItem(storageUserKey(appId), result.token);\n\n if (!isContinueToSameLocation(continueTo)) {\n window.location.assign(continueTo);\n } else {\n removeCallbackParams();\n }\n\n return { token: result.token, user: result.user };\n}\n\nasync function checkAlreadyLoggedUser(opts: {\n appId: string;\n host?: string;\n}): Promise<PlasmicAuthData> {\n const { appId, host } = opts;\n\n const token = localStorage.getItem(storageUserKey(appId));\n if (!token) {\n return { user: null, token: null };\n }\n\n const { user, error } = await getPlasmicAppUserFromToken({\n host,\n token,\n });\n\n if (error) {\n // If there is an error, we just remove the token\n // But ideally we should check if the reason is token expired\n localStorage.removeItem(storageUserKey(appId));\n console.log(`Error while checking logged user`);\n return { user: null, token: null };\n }\n\n return { user, token };\n}\n\n/**\n * Handles the authentication flow for Plasmic Auth and returns the user and token\n */\nexport function usePlasmicAuth(opts: { host?: string; appId?: string }) {\n const { host, appId } = opts;\n const authKey = `$csq$plasmic-auth-${appId}`;\n const { data: userData, isLoading } = useMutablePlasmicQueryData(\n authKey,\n async (): Promise<PlasmicAuthData> => {\n if (!appId || !isBrowser) {\n return { user: null, token: null };\n }\n\n // Fail silently for now\n try {\n // We first check if we are currently in the callback flow\n const callbackParams = getCallbackParams();\n if (callbackParams.isCallbackError || callbackParams.isCodeExchange) {\n if (callbackParams.isCallbackError) {\n // If there is an error, we just remove the callback params\n removeCallbackParams();\n console.error(`Error: ${callbackParams.error}`);\n return { user: null, token: null };\n } else {\n const codeVerifier = getCodeVerifier();\n if (!codeVerifier) {\n // If there is no codeVerifier, we just remove the callback params\n removeCallbackParams();\n console.error('No code verifier found');\n return { user: null, token: null };\n } else {\n // Perform code exchange, by the end of the callback handling we will either still be\n // in the callback page or we will be redirected to the continueTo page.\n\n const result = await handleCallback({\n host,\n appId,\n code: callbackParams.code!,\n state: callbackParams.state!,\n codeVerifier,\n });\n\n // Undefined result means that the code exchange failed\n if (!result) {\n removeCallbackParams();\n return { user: null, token: null };\n }\n\n // In the above case where the code exchange failed and the callback page requires login\n // a login redirect will be triggered\n return result;\n }\n }\n } else {\n return await checkAlreadyLoggedUser({\n appId,\n host,\n });\n }\n } catch (err) {\n console.error(`Error while handling auth: ${err}`);\n }\n\n return { user: null, token: null };\n }\n );\n\n return {\n user: userData?.user,\n token: userData?.token,\n isUserLoading: isLoading,\n };\n}\n"],"names":["storageUserKey","appId","isBrowser","window","getCallbackParams","params","URLSearchParams","location","search","error","get","code","state","isCallbackError","isCodeExchange","getCodeVerifier","localStorage","getItem","err","removeCallbackParams","history","replaceState","pathname","console","isContinueToSameLocation","continueTo","origin","handleCallback","_x","_handleCallback","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","opts","host","codeVerifier","parsedState","result","wrap","_callee2$","_context2","prev","next","JSON","parse","getPlasmicAppUser","sent","log","abrupt","undefined","setItem","token","assign","user","stop","checkAlreadyLoggedUser","_x2","_checkAlreadyLoggedUser","_callee3","_yield$getPlasmicAppU","_callee3$","_context3","getPlasmicAppUserFromToken","removeItem","usePlasmicAuth","authKey","_useMutablePlasmicQue","useMutablePlasmicQueryData","_callee","callbackParams","_callee$","_context","t0","userData","data","isLoading","isUserLoading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAAa;EAAA,kBAAcA,KAAK;AAAA,CAAE;AAE1D,IAAMC,SAAS,GAAG,OAAOC,MAAM,KAAK,WAAW;AAE/C,SAASC,iBAAiBA;EACxB,IAAMC,MAAM,GAAG,IAAIC,eAAe,CAACH,MAAM,CAACI,QAAQ,CAACC,MAAM,CAAC;EAC1D,IAAMC,KAAK,GAAGJ,MAAM,CAACK,GAAG,CAAC,OAAO,CAAC;EACjC,IAAMC,IAAI,GAAGN,MAAM,CAACK,GAAG,CAAC,MAAM,CAAC;EAC/B,IAAME,KAAK,GAAGP,MAAM,CAACK,GAAG,CAAC,OAAO,CAAC;EAEjC,OAAO;IACLG,eAAe,EAAE,CAAC,CAACJ,KAAK;IACxBK,cAAc,EAAE,CAAC,CAACH,IAAI,IAAI,CAAC,CAACC,KAAK;IACjCH,KAAK,EAALA,KAAK;IACLE,IAAI,EAAJA,IAAI;IACJC,KAAK,EAALA;GACD;AACH;AAEA,SAASG,eAAeA;EACtB,IAAI;IACF,OAAOC,YAAY,CAACC,OAAO,CAAC,eAAe,CAAC;GAC7C,CAAC,OAAOC,GAAG,EAAE;IACZ,OAAO,IAAI;;AAEf;AAEA,SAASC,oBAAoBA;EAC3B,IAAI;IACFhB,MAAM,CAACiB,OAAO,CAACC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAEd,QAAQ,CAACe,QAAQ,CAAC;GACvD,CAAC,OAAOJ,GAAG,EAAE;IACZK,OAAO,CAACd,KAAK,4CAA0CS,GAAK,CAAC;;AAEjE;AAEA;AACA;AACA;AACA,SAASM,wBAAwBA,CAACC,UAAkB;EAClD,IAAMH,QAAQ,GAAGnB,MAAM,CAACI,QAAQ,CAACe,QAAQ;EACzC,IAAMI,MAAM,GAAGvB,MAAM,CAACI,QAAQ,CAACmB,MAAM;EACrC,OAAOD,UAAU,KAAKH,QAAQ,IAAIG,UAAU,KAAKC,MAAM,GAAGJ,QAAQ;AACpE;AAAC,SAEcK,cAAcA,CAAAC,EAAA;EAAA,OAAAC,eAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF;EAAAA,eAAA,GAAAG,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAA7B,SAAAC,SAA8BC,IAM7B;IAAA,IAAAC,IAAA,EAAApC,KAAA,EAAAU,IAAA,EAAAC,KAAA,EAAA0B,YAAA,EAAAb,UAAA,EAAAc,WAAA,EAAAC,MAAA;IAAA,OAAAP,mBAAA,GAAAQ,IAAA,UAAAC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAC,IAAA,GAAAD,SAAA,CAAAE,IAAA;QAAA;UACSR,IAAI,GAAuCD,IAAI,CAA/CC,IAAI,EAAEpC,KAAK,GAAgCmC,IAAI,CAAzCnC,KAAK,EAAEU,IAAI,GAA0ByB,IAAI,CAAlCzB,IAAI,EAAEC,KAAK,GAAmBwB,IAAI,CAA5BxB,KAAK,EAAE0B,YAAY,GAAKF,IAAI,CAArBE,YAAY;UAE1Cb,UAAU,GAAG,GAAG;UACpB,IAAI;YACF,IAAIb,KAAK,EAAE;cACH2B,WAAW,GAAGO,IAAI,CAACC,KAAK,CAACnC,KAAK,CAAC;cACrCa,UAAU,GAAGc,WAAW,CAACd,UAAU;;WAEtC,CAAC,OAAOP,GAAG,EAAE;YACZK,OAAO,CAACd,KAAK,iCAA+BS,GAAK,CAAC;;UACnDyB,SAAA,CAAAE,IAAA;UAAA,OAEoBG,yBAAiB,CAAC;YACrCX,IAAI,EAAJA,IAAI;YACJpC,KAAK,EAALA,KAAK;YACLU,IAAI,EAAJA,IAAI;YACJ2B,YAAY,EAAZA;WACD,CAAC;QAAA;UALIE,MAAM,GAAAG,SAAA,CAAAM,IAAA;UAAA,KAORT,MAAM,CAAC/B,KAAK;YAAAkC,SAAA,CAAAE,IAAA;YAAA;;UACdtB,OAAO,CAAC2B,GAAG,4CAA0CV,MAAM,CAAC/B,KAAO,CAAC;UAAC,OAAAkC,SAAA,CAAAQ,MAAA,WAC9DC,SAAS;QAAA;UAGlBpC,YAAY,CAACqC,OAAO,CAACrD,cAAc,CAACC,KAAK,CAAC,EAAEuC,MAAM,CAACc,KAAK,CAAC;UAEzD,IAAI,CAAC9B,wBAAwB,CAACC,UAAU,CAAC,EAAE;YACzCtB,MAAM,CAACI,QAAQ,CAACgD,MAAM,CAAC9B,UAAU,CAAC;WACnC,MAAM;YACLN,oBAAoB,EAAE;;UACvB,OAAAwB,SAAA,CAAAQ,MAAA,WAEM;YAAEG,KAAK,EAAEd,MAAM,CAACc,KAAK;YAAEE,IAAI,EAAEhB,MAAM,CAACgB;WAAM;QAAA;QAAA;UAAA,OAAAb,SAAA,CAAAc,IAAA;;OAAAtB,QAAA;GAClD;EAAA,OAAAN,eAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEc2B,sBAAsBA,CAAAC,GAAA;EAAA,OAAAC,uBAAA,CAAA9B,KAAA,OAAAC,SAAA;AAAA;AA2BrC;;;AAAA,SAAA6B;EAAAA,uBAAA,GAAA5B,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CA3BA,SAAA2B,SAAsCzB,IAGrC;IAAA,IAAAnC,KAAA,EAAAoC,IAAA,EAAAiB,KAAA,EAAAQ,qBAAA,EAAAN,IAAA,EAAA/C,KAAA;IAAA,OAAAwB,mBAAA,GAAAQ,IAAA,UAAAsB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAApB,IAAA,GAAAoB,SAAA,CAAAnB,IAAA;QAAA;UACS5C,KAAK,GAAWmC,IAAI,CAApBnC,KAAK,EAAEoC,IAAI,GAAKD,IAAI,CAAbC,IAAI;UAEbiB,KAAK,GAAGtC,YAAY,CAACC,OAAO,CAACjB,cAAc,CAACC,KAAK,CAAC,CAAC;UAAA,IACpDqD,KAAK;YAAAU,SAAA,CAAAnB,IAAA;YAAA;;UAAA,OAAAmB,SAAA,CAAAb,MAAA,WACD;YAAEK,IAAI,EAAE,IAAI;YAAEF,KAAK,EAAE;WAAM;QAAA;UAAAU,SAAA,CAAAnB,IAAA;UAAA,OAGNoB,kCAA0B,CAAC;YACvD5B,IAAI,EAAJA,IAAI;YACJiB,KAAK,EAALA;WACD,CAAC;QAAA;UAAAQ,qBAAA,GAAAE,SAAA,CAAAf,IAAA;UAHMO,IAAI,GAAAM,qBAAA,CAAJN,IAAI;UAAE/C,KAAK,GAAAqD,qBAAA,CAALrD,KAAK;UAAA,KAKfA,KAAK;YAAAuD,SAAA,CAAAnB,IAAA;YAAA;;;;UAGP7B,YAAY,CAACkD,UAAU,CAAClE,cAAc,CAACC,KAAK,CAAC,CAAC;UAC9CsB,OAAO,CAAC2B,GAAG,mCAAmC,CAAC;UAAC,OAAAc,SAAA,CAAAb,MAAA,WACzC;YAAEK,IAAI,EAAE,IAAI;YAAEF,KAAK,EAAE;WAAM;QAAA;UAAA,OAAAU,SAAA,CAAAb,MAAA,WAG7B;YAAEK,IAAI,EAAJA,IAAI;YAAEF,KAAK,EAALA;WAAO;QAAA;QAAA;UAAA,OAAAU,SAAA,CAAAP,IAAA;;OAAAI,QAAA;GACvB;EAAA,OAAAD,uBAAA,CAAA9B,KAAA,OAAAC,SAAA;AAAA;SAKeoC,cAAcA,CAAC/B,IAAuC;EACpE,IAAQC,IAAI,GAAYD,IAAI,CAApBC,IAAI;IAAEpC,KAAK,GAAKmC,IAAI,CAAdnC,KAAK;EACnB,IAAMmE,OAAO,0BAAwBnE,KAAO;EAC5C,IAAAoE,qBAAA,GAAsCC,gCAA0B,CAC9DF,OAAO,eAAApC,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CACP,SAAAqC;MAAA,IAAAC,cAAA,EAAAlC,YAAA,EAAAE,MAAA;MAAA,OAAAP,mBAAA,GAAAQ,IAAA,UAAAgC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAA9B,IAAA,GAAA8B,QAAA,CAAA7B,IAAA;UAAA;YAAA,MACM,CAAC5C,KAAK,IAAI,CAACC,SAAS;cAAAwE,QAAA,CAAA7B,IAAA;cAAA;;YAAA,OAAA6B,QAAA,CAAAvB,MAAA,WACf;cAAEK,IAAI,EAAE,IAAI;cAAEF,KAAK,EAAE;aAAM;UAAA;YAAAoB,QAAA,CAAA9B,IAAA;;YAM5B4B,cAAc,GAAGpE,iBAAiB,EAAE;YAAA,MACtCoE,cAAc,CAAC3D,eAAe,IAAI2D,cAAc,CAAC1D,cAAc;cAAA4D,QAAA,CAAA7B,IAAA;cAAA;;YAAA,KAC7D2B,cAAc,CAAC3D,eAAe;cAAA6D,QAAA,CAAA7B,IAAA;cAAA;;;YAEhC1B,oBAAoB,EAAE;YACtBI,OAAO,CAACd,KAAK,aAAW+D,cAAc,CAAC/D,KAAO,CAAC;YAAC,OAAAiE,QAAA,CAAAvB,MAAA,WACzC;cAAEK,IAAI,EAAE,IAAI;cAAEF,KAAK,EAAE;aAAM;UAAA;YAE5BhB,YAAY,GAAGvB,eAAe,EAAE;YAAA,IACjCuB,YAAY;cAAAoC,QAAA,CAAA7B,IAAA;cAAA;;;YAEf1B,oBAAoB,EAAE;YACtBI,OAAO,CAACd,KAAK,CAAC,wBAAwB,CAAC;YAAC,OAAAiE,QAAA,CAAAvB,MAAA,WACjC;cAAEK,IAAI,EAAE,IAAI;cAAEF,KAAK,EAAE;aAAM;UAAA;YAAAoB,QAAA,CAAA7B,IAAA;YAAA,OAKblB,cAAc,CAAC;cAClCU,IAAI,EAAJA,IAAI;cACJpC,KAAK,EAALA,KAAK;cACLU,IAAI,EAAE6D,cAAc,CAAC7D,IAAK;cAC1BC,KAAK,EAAE4D,cAAc,CAAC5D,KAAM;cAC5B0B,YAAY,EAAZA;aACD,CAAC;UAAA;YANIE,MAAM,GAAAkC,QAAA,CAAAzB,IAAA;YAAA,IASPT,MAAM;cAAAkC,QAAA,CAAA7B,IAAA;cAAA;;YACT1B,oBAAoB,EAAE;YAAC,OAAAuD,QAAA,CAAAvB,MAAA,WAChB;cAAEK,IAAI,EAAE,IAAI;cAAEF,KAAK,EAAE;aAAM;UAAA;YAAA,OAAAoB,QAAA,CAAAvB,MAAA,WAK7BX,MAAM;UAAA;YAAAkC,QAAA,CAAA7B,IAAA;YAAA;UAAA;YAAA6B,QAAA,CAAA7B,IAAA;YAAA,OAIJa,sBAAsB,CAAC;cAClCzD,KAAK,EAALA,KAAK;cACLoC,IAAI,EAAJA;aACD,CAAC;UAAA;YAAA,OAAAqC,QAAA,CAAAvB,MAAA,WAAAuB,QAAA,CAAAzB,IAAA;UAAA;YAAAyB,QAAA,CAAA7B,IAAA;YAAA;UAAA;YAAA6B,QAAA,CAAA9B,IAAA;YAAA8B,QAAA,CAAAC,EAAA,GAAAD,QAAA;YAGJnD,OAAO,CAACd,KAAK,iCAAAiE,QAAA,CAAAC,EAAoC,CAAC;UAAC;YAAA,OAAAD,QAAA,CAAAvB,MAAA,WAG9C;cAAEK,IAAI,EAAE,IAAI;cAAEF,KAAK,EAAE;aAAM;UAAA;UAAA;YAAA,OAAAoB,QAAA,CAAAjB,IAAA;;SAAAc,OAAA;KACnC,GACF;IA3DaK,QAAQ,GAAAP,qBAAA,CAAdQ,IAAI;IAAYC,SAAS,GAAAT,qBAAA,CAATS,SAAS;EA6DjC,OAAO;IACLtB,IAAI,EAAEoB,QAAQ,oBAARA,QAAQ,CAAEpB,IAAI;IACpBF,KAAK,EAAEsB,QAAQ,oBAARA,QAAQ,CAAEtB,KAAK;IACtByB,aAAa,EAAED;GAChB;AACH;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,r,e=require("@plasmicapp/auth-api"),n=require("@plasmicapp/query");function o(){o=function(){return r};var t,r={},e=Object.prototype,n=e.hasOwnProperty,a=Object.defineProperty||function(t,r,e){t[r]=e.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{l({},"")}catch(t){l=function(t,r,e){return t[r]=e}}function f(t,r,e,n){var o=Object.create((r&&r.prototype instanceof g?r:g).prototype),i=new I(n||[]);return a(o,"_invoke",{value:O(t,e,i)}),o}function h(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}r.wrap=f;var p="suspendedStart",d="executing",v="completed",y={};function g(){}function m(){}function w(){}var b={};l(b,u,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(N([])));k&&k!==e&&n.call(k,u)&&(b=k);var E=w.prototype=g.prototype=Object.create(b);function L(t){["next","throw","return"].forEach((function(r){l(t,r,(function(t){return this._invoke(r,t)}))}))}function _(t,r){function e(o,a,i,u){var c=h(t[o],t,a);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?r.resolve(l.__await).then((function(t){e("next",t,i,u)}),(function(t){e("throw",t,i,u)})):r.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return e("throw",t,i,u)}))}u(c.arg)}var o;a(this,"_invoke",{value:function(t,n){function a(){return new r((function(r,o){e(t,n,r,o)}))}return o=o?o.then(a,a):a()}})}function O(r,e,n){var o=p;return function(a,i){if(o===d)throw new Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var c=j(u,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=h(r,e,n);if("normal"===s.type){if(o=n.done?v:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=v,n.method="throw",n.arg=s.arg)}}}function j(r,e){var n=e.method,o=r.iterator[n];if(o===t)return e.delegate=null,"throw"===n&&r.iterator.return&&(e.method="return",e.arg=t,j(r,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=h(o,r.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,y;var i=a.arg;return i?i.done?(e[r.resultName]=i.value,e.next=r.nextLoc,"return"!==e.method&&(e.method="next",e.arg=t),e.delegate=null,y):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,y)}function P(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function S(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function N(r){if(r||""===r){var e=r[u];if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function e(){for(;++o<r.length;)if(n.call(r,o))return e.value=r[o],e.done=!1,e;return e.value=t,e.done=!0,e};return a.next=a}}throw new TypeError(typeof r+" is not iterable")}return m.prototype=w,a(E,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:m,configurable:!0}),m.displayName=l(w,s,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===m||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,s,"GeneratorFunction")),t.prototype=Object.create(E),t},r.awrap=function(t){return{__await:t}},L(_.prototype),l(_.prototype,c,(function(){return this})),r.AsyncIterator=_,r.async=function(t,e,n,o,a){void 0===a&&(a=Promise);var i=new _(f(t,e,n,o),a);return r.isGeneratorFunction(e)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},L(E),l(E,s,"Generator"),l(E,u,(function(){return this})),l(E,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var r=Object(t),e=[];for(var n in r)e.push(n);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in r)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=N,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(S),!r)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var e=this;function o(n,o){return u.type="throw",u.arg=r,e.next=n,o&&(e.method="next",e.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(t,r){for(var e=this.tryEntries.length-1;e>=0;--e){var o=this.tryEntries[e];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=r,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),y},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),S(e),y}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;S(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(r,e,n){return this.delegate={iterator:N(r),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=t),y}},r}function a(t,r,e,n,o,a,i){try{var u=t[a](i),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var i=t.apply(r,e);function u(t){a(i,n,o,u,c,"next",t)}function c(t){a(i,n,o,u,c,"throw",t)}u(void 0)}))}}var u="undefined"!=typeof window;function c(){try{return localStorage.getItem("code_verifier")}catch(t){return null}}function s(){try{window.history.replaceState({},"",location.pathname)}catch(t){console.error("Error while removing callback params: "+t)}}function l(t){var r=window.location.pathname,e=window.location.origin;return t===r||t===e+r}function f(r){return(t=t||i(o().mark((function t(r){var n,a,i,u,c,f,h,p;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=r.host,a=r.appId,i=r.code,u=r.state,c=r.codeVerifier,f="/";try{u&&(h=JSON.parse(u),f=h.continueTo)}catch(t){console.error("Error while parsing state: "+t)}return t.next=5,e.getPlasmicAppUser({host:n,appId:a,code:i,codeVerifier:c});case 5:if(!(p=t.sent).error){t.next=9;break}return console.log("Error while performing code exchange: "+p.error),t.abrupt("return",void 0);case 9:return localStorage.setItem("plasmic_user",p.token),l(f)?s():window.location.assign(f),t.abrupt("return",{token:p.token,user:p.user});case 12:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function h(t){return(r=r||i(o().mark((function t(r){var n,a,i,u;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.host,a=localStorage.getItem("plasmic_user")){t.next=4;break}return t.abrupt("return",{user:null,token:null});case 4:return t.next=6,e.getPlasmicAppUserFromToken({host:n,token:a});case 6:if(u=(i=t.sent).user,!i.error){t.next=13;break}return localStorage.removeItem("plasmic_user"),console.log("Error while checking logged user"),t.abrupt("return",{user:null,token:null});case 13:return t.abrupt("return",{user:u,token:a});case 14:case"end":return t.stop()}}),t)})))).apply(this,arguments)}Object.keys(e).forEach((function(t){"default"!==t&&Object.defineProperty(exports,t,{enumerable:!0,get:function(){return e[t]}})})),exports.usePlasmicAuth=function(t){var r=t.host,e=t.appId,a=n.useMutablePlasmicQueryData("$csq$plasmic-auth-"+e,i(o().mark((function t(){var n,a,i;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e&&u){t.next=2;break}return t.abrupt("return",{user:null,token:null});case 2:if(t.prev=2,o=void 0,l=(o=new URLSearchParams(window.location.search)).get("error"),p=o.get("code"),d=o.get("state"),!(n={isCallbackError:!!l,isCodeExchange:!!p&&!!d,error:l,code:p,state:d}).isCallbackError&&!n.isCodeExchange){t.next=27;break}if(!n.isCallbackError){t.next=11;break}return s(),console.error("Error: "+n.error),t.abrupt("return",{user:null,token:null});case 11:if(a=c()){t.next=18;break}return s(),console.error("No code verifier found"),t.abrupt("return",{user:null,token:null});case 18:return t.next=20,f({host:r,appId:e,code:n.code,state:n.state,codeVerifier:a});case 20:if(i=t.sent){t.next=24;break}return s(),t.abrupt("return",{user:null,token:null});case 24:return t.abrupt("return",i);case 25:t.next=30;break;case 27:return t.next=29,h({host:r});case 29:return t.abrupt("return",t.sent);case 30:t.next=35;break;case 32:t.prev=32,t.t0=t.catch(2),console.error("Error while handling auth: "+t.t0);case 35:return t.abrupt("return",{user:null,token:null});case 36:case"end":return t.stop()}var o,l,p,d}),t,null,[[2,32]])})))),l=a.data;return{user:null==l?void 0:l.user,token:null==l?void 0:l.token,isUserLoading:a.isLoading}};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@plasmicapp/auth-api"),r=require("@plasmicapp/query");function e(){e=function(){return r};var t,r={},n=Object.prototype,o=n.hasOwnProperty,a=Object.defineProperty||function(t,r,e){t[r]=e.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{l({},"")}catch(t){l=function(t,r,e){return t[r]=e}}function f(t,r,e,n){var o=Object.create((r&&r.prototype instanceof g?r:g).prototype),i=new S(n||[]);return a(o,"_invoke",{value:_(t,e,i)}),o}function h(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}r.wrap=f;var p="suspendedStart",d="executing",v="completed",y={};function g(){}function m(){}function w(){}var b={};l(b,u,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(N([])));k&&k!==n&&o.call(k,u)&&(b=k);var E=w.prototype=g.prototype=Object.create(b);function L(t){["next","throw","return"].forEach((function(r){l(t,r,(function(t){return this._invoke(r,t)}))}))}function O(t,r){function e(n,a,i,u){var c=h(t[n],t,a);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&o.call(l,"__await")?r.resolve(l.__await).then((function(t){e("next",t,i,u)}),(function(t){e("throw",t,i,u)})):r.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return e("throw",t,i,u)}))}u(c.arg)}var n;a(this,"_invoke",{value:function(t,o){function a(){return new r((function(r,n){e(t,o,r,n)}))}return n=n?n.then(a,a):a()}})}function _(r,e,n){var o=p;return function(a,i){if(o===d)throw new Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var c=j(u,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=h(r,e,n);if("normal"===s.type){if(o=n.done?v:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=v,n.method="throw",n.arg=s.arg)}}}function j(r,e){var n=e.method,o=r.iterator[n];if(o===t)return e.delegate=null,"throw"===n&&r.iterator.return&&(e.method="return",e.arg=t,j(r,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=h(o,r.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,y;var i=a.arg;return i?i.done?(e[r.resultName]=i.value,e.next=r.nextLoc,"return"!==e.method&&(e.method="next",e.arg=t),e.delegate=null,y):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,y)}function P(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function I(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function N(r){if(r||""===r){var e=r[u];if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var n=-1,a=function e(){for(;++n<r.length;)if(o.call(r,n))return e.value=r[n],e.done=!1,e;return e.value=t,e.done=!0,e};return a.next=a}}throw new TypeError(typeof r+" is not iterable")}return m.prototype=w,a(E,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:m,configurable:!0}),m.displayName=l(w,s,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===m||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,s,"GeneratorFunction")),t.prototype=Object.create(E),t},r.awrap=function(t){return{__await:t}},L(O.prototype),l(O.prototype,c,(function(){return this})),r.AsyncIterator=O,r.async=function(t,e,n,o,a){void 0===a&&(a=Promise);var i=new O(f(t,e,n,o),a);return r.isGeneratorFunction(e)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},L(E),l(E,s,"Generator"),l(E,u,(function(){return this})),l(E,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var r=Object(t),e=[];for(var n in r)e.push(n);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in r)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=N,S.prototype={constructor:S,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(I),!r)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var e=this;function n(n,o){return u.type="throw",u.arg=r,e.next=n,o&&(e.method="next",e.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=o.call(i,"catchLoc"),s=o.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,r){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=r,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),y},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),I(e),y}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;I(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(r,e,n){return this.delegate={iterator:N(r),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=t),y}},r}function n(t,r,e,n,o,a,i){try{var u=t[a](i),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function o(t){return function(){var r=this,e=arguments;return new Promise((function(o,a){var i=t.apply(r,e);function u(t){n(i,o,a,u,c,"next",t)}function c(t){n(i,o,a,u,c,"throw",t)}u(void 0)}))}}var a=function(t){return"$user."+t},i="undefined"!=typeof window;function u(){try{return localStorage.getItem("code_verifier")}catch(t){return null}}function c(){try{window.history.replaceState({},"",location.pathname)}catch(t){console.error("Error while removing callback params: "+t)}}function s(t){var r=window.location.pathname,e=window.location.origin;return t===r||t===e+r}function l(t){return f.apply(this,arguments)}function f(){return(f=o(e().mark((function r(n){var o,i,u,l,f,h,p,d;return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:o=n.host,i=n.appId,u=n.code,l=n.state,f=n.codeVerifier,h="/";try{l&&(p=JSON.parse(l),h=p.continueTo)}catch(t){console.error("Error while parsing state: "+t)}return r.next=5,t.getPlasmicAppUser({host:o,appId:i,code:u,codeVerifier:f});case 5:if(!(d=r.sent).error){r.next=9;break}return console.log("Error while performing code exchange: "+d.error),r.abrupt("return",void 0);case 9:return localStorage.setItem(a(i),d.token),s(h)?c():window.location.assign(h),r.abrupt("return",{token:d.token,user:d.user});case 12:case"end":return r.stop()}}),r)})))).apply(this,arguments)}function h(t){return p.apply(this,arguments)}function p(){return(p=o(e().mark((function r(n){var o,i,u,c,s;return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(o=n.appId,i=n.host,u=localStorage.getItem(a(o))){r.next=4;break}return r.abrupt("return",{user:null,token:null});case 4:return r.next=6,t.getPlasmicAppUserFromToken({host:i,token:u});case 6:if(s=(c=r.sent).user,!c.error){r.next=13;break}return localStorage.removeItem(a(o)),console.log("Error while checking logged user"),r.abrupt("return",{user:null,token:null});case 13:return r.abrupt("return",{user:s,token:u});case 14:case"end":return r.stop()}}),r)})))).apply(this,arguments)}Object.keys(t).forEach((function(r){"default"!==r&&Object.defineProperty(exports,r,{enumerable:!0,get:function(){return t[r]}})})),exports.usePlasmicAuth=function(t){var n=t.host,a=t.appId,s=r.useMutablePlasmicQueryData("$csq$plasmic-auth-"+a,o(e().mark((function t(){var r,o,s;return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a&&i){t.next=2;break}return t.abrupt("return",{user:null,token:null});case 2:if(t.prev=2,e=void 0,f=(e=new URLSearchParams(window.location.search)).get("error"),p=e.get("code"),d=e.get("state"),!(r={isCallbackError:!!f,isCodeExchange:!!p&&!!d,error:f,code:p,state:d}).isCallbackError&&!r.isCodeExchange){t.next=27;break}if(!r.isCallbackError){t.next=11;break}return c(),console.error("Error: "+r.error),t.abrupt("return",{user:null,token:null});case 11:if(o=u()){t.next=18;break}return c(),console.error("No code verifier found"),t.abrupt("return",{user:null,token:null});case 18:return t.next=20,l({host:n,appId:a,code:r.code,state:r.state,codeVerifier:o});case 20:if(s=t.sent){t.next=24;break}return c(),t.abrupt("return",{user:null,token:null});case 24:return t.abrupt("return",s);case 25:t.next=30;break;case 27:return t.next=29,h({appId:a,host:n});case 29:return t.abrupt("return",t.sent);case 30:t.next=35;break;case 32:t.prev=32,t.t0=t.catch(2),console.error("Error while handling auth: "+t.t0);case 35:return t.abrupt("return",{user:null,token:null});case 36:case"end":return t.stop()}var e,f,p,d}),t,null,[[2,32]])})))),f=s.data;return{user:null==f?void 0:f.user,token:null==f?void 0:f.token,isUserLoading:s.isLoading}};
|
|
2
2
|
//# sourceMappingURL=auth-react.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-react.cjs.production.min.js","sources":["../src/hooks.ts"],"sourcesContent":["import {\n getPlasmicAppUser,\n getPlasmicAppUserFromToken,\n} from '@plasmicapp/auth-api';\nimport { useMutablePlasmicQueryData } from '@plasmicapp/query';\n\ninterface PlasmicAuthData {\n user: any;\n token: string | null;\n}\n\nconst STORAGE_USER_KEY = 'plasmic_user';\nconst isBrowser = typeof window !== 'undefined';\n\nfunction getCallbackParams() {\n const params = new URLSearchParams(window.location.search);\n const error = params.get('error');\n const code = params.get('code');\n const state = params.get('state');\n\n return {\n isCallbackError: !!error,\n isCodeExchange: !!code && !!state,\n error,\n code,\n state,\n };\n}\n\nfunction getCodeVerifier() {\n try {\n return localStorage.getItem('code_verifier');\n } catch (err) {\n return null;\n }\n}\n\nfunction removeCallbackParams() {\n try {\n window.history.replaceState({}, '', location.pathname);\n } catch (err) {\n console.error(`Error while removing callback params: ${err}`);\n }\n}\n\n// continueTo can be only a pathname or a full url with origin\n// we can consider that currently we are at the callback page\n// with callback params, so ignore the search params\nfunction isContinueToSameLocation(continueTo: string) {\n const pathname = window.location.pathname;\n const origin = window.location.origin;\n return continueTo === pathname || continueTo === origin + pathname;\n}\n\nasync function handleCallback(opts: {\n host?: string;\n appId: string;\n code: string;\n state: string;\n codeVerifier: string;\n}): Promise<PlasmicAuthData | undefined> {\n const { host, appId, code, state, codeVerifier } = opts;\n\n let continueTo = '/';\n try {\n if (state) {\n const parsedState = JSON.parse(state);\n continueTo = parsedState.continueTo;\n }\n } catch (err) {\n console.error(`Error while parsing state: ${err}`);\n }\n\n const result = await getPlasmicAppUser({\n host,\n appId,\n code,\n codeVerifier,\n });\n\n if (result.error) {\n console.log(`Error while performing code exchange: ${result.error}`);\n return undefined;\n }\n\n localStorage.setItem(STORAGE_USER_KEY, result.token);\n\n if (!isContinueToSameLocation(continueTo)) {\n window.location.assign(continueTo);\n } else {\n removeCallbackParams();\n }\n\n return { token: result.token, user: result.user };\n}\n\nasync function checkAlreadyLoggedUser(opts: {\n host?: string;\n}): Promise<PlasmicAuthData> {\n const { host } = opts;\n\n const token = localStorage.getItem(STORAGE_USER_KEY);\n if (!token) {\n return { user: null, token: null };\n }\n\n const { user, error } = await getPlasmicAppUserFromToken({\n host,\n token,\n });\n\n if (error) {\n // If there is an error, we just remove the token\n // But ideally we should check if the reason is token expired\n localStorage.removeItem(STORAGE_USER_KEY);\n console.log(`Error while checking logged user`);\n return { user: null, token: null };\n }\n\n return { user, token };\n}\n\n/**\n * Handles the authentication flow for Plasmic Auth and returns the user and token\n */\nexport function usePlasmicAuth(opts: { host?: string; appId?: string }) {\n const { host, appId } = opts;\n const authKey = `$csq$plasmic-auth-${appId}`;\n const { data: userData, isLoading } = useMutablePlasmicQueryData(\n authKey,\n async (): Promise<PlasmicAuthData> => {\n if (!appId || !isBrowser) {\n return { user: null, token: null };\n }\n\n // Fail silently for now\n try {\n // We first check if we are currently in the callback flow\n const callbackParams = getCallbackParams();\n if (callbackParams.isCallbackError || callbackParams.isCodeExchange) {\n if (callbackParams.isCallbackError) {\n // If there is an error, we just remove the callback params\n removeCallbackParams();\n console.error(`Error: ${callbackParams.error}`);\n return { user: null, token: null };\n } else {\n const codeVerifier = getCodeVerifier();\n if (!codeVerifier) {\n // If there is no codeVerifier, we just remove the callback params\n removeCallbackParams();\n console.error('No code verifier found');\n return { user: null, token: null };\n } else {\n // Perform code exchange, by the end of the callback handling we will either still be\n // in the callback page or we will be redirected to the continueTo page.\n\n const result = await handleCallback({\n host,\n appId,\n code: callbackParams.code!,\n state: callbackParams.state!,\n codeVerifier,\n });\n\n // Undefined result means that the code exchange failed\n if (!result) {\n removeCallbackParams();\n return { user: null, token: null };\n }\n\n // In the above case where the code exchange failed and the callback page requires login\n // a login redirect will be triggered\n return result;\n }\n }\n } else {\n return await checkAlreadyLoggedUser({\n host,\n });\n }\n } catch (err) {\n console.error(`Error while handling auth: ${err}`);\n }\n\n return { user: null, token: null };\n }\n );\n\n return {\n user: userData?.user,\n token: userData?.token,\n isUserLoading: isLoading,\n };\n}\n"],"names":["isBrowser","window","getCodeVerifier","localStorage","getItem","err","removeCallbackParams","history","replaceState","location","pathname","console","error","isContinueToSameLocation","continueTo","origin","handleCallback","_x","_handleCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","opts","host","appId","code","state","codeVerifier","parsedState","result","wrap","_context","prev","next","JSON","parse","getPlasmicAppUser","sent","log","abrupt","undefined","setItem","token","assign","user","stop","apply","arguments","checkAlreadyLoggedUser","_x2","_checkAlreadyLoggedUser","_callee2","_yield$getPlasmicAppU","_context2","getPlasmicAppUserFromToken","removeItem","_useMutablePlasmicQue","useMutablePlasmicQueryData","_callee3","callbackParams","_context3","params","URLSearchParams","search","get","isCallbackError","isCodeExchange","t0","userData","data","isUserLoading","isLoading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth-react.cjs.production.min.js","sources":["../src/hooks.ts"],"sourcesContent":["import {\n getPlasmicAppUser,\n getPlasmicAppUserFromToken,\n PlasmicUser,\n} from '@plasmicapp/auth-api';\nimport { useMutablePlasmicQueryData } from '@plasmicapp/query';\n\ninterface PlasmicAuthData {\n user: PlasmicUser | null;\n token: string | null;\n}\n\nconst storageUserKey = (appId: string) => `$user.${appId}`;\n\nconst isBrowser = typeof window !== 'undefined';\n\nfunction getCallbackParams() {\n const params = new URLSearchParams(window.location.search);\n const error = params.get('error');\n const code = params.get('code');\n const state = params.get('state');\n\n return {\n isCallbackError: !!error,\n isCodeExchange: !!code && !!state,\n error,\n code,\n state,\n };\n}\n\nfunction getCodeVerifier() {\n try {\n return localStorage.getItem('code_verifier');\n } catch (err) {\n return null;\n }\n}\n\nfunction removeCallbackParams() {\n try {\n window.history.replaceState({}, '', location.pathname);\n } catch (err) {\n console.error(`Error while removing callback params: ${err}`);\n }\n}\n\n// continueTo can be only a pathname or a full url with origin\n// we can consider that currently we are at the callback page\n// with callback params, so ignore the search params\nfunction isContinueToSameLocation(continueTo: string) {\n const pathname = window.location.pathname;\n const origin = window.location.origin;\n return continueTo === pathname || continueTo === origin + pathname;\n}\n\nasync function handleCallback(opts: {\n host?: string;\n appId: string;\n code: string;\n state: string;\n codeVerifier: string;\n}): Promise<PlasmicAuthData | undefined> {\n const { host, appId, code, state, codeVerifier } = opts;\n\n let continueTo = '/';\n try {\n if (state) {\n const parsedState = JSON.parse(state);\n continueTo = parsedState.continueTo;\n }\n } catch (err) {\n console.error(`Error while parsing state: ${err}`);\n }\n\n const result = await getPlasmicAppUser({\n host,\n appId,\n code,\n codeVerifier,\n });\n\n if (result.error) {\n console.log(`Error while performing code exchange: ${result.error}`);\n return undefined;\n }\n\n localStorage.setItem(storageUserKey(appId), result.token);\n\n if (!isContinueToSameLocation(continueTo)) {\n window.location.assign(continueTo);\n } else {\n removeCallbackParams();\n }\n\n return { token: result.token, user: result.user };\n}\n\nasync function checkAlreadyLoggedUser(opts: {\n appId: string;\n host?: string;\n}): Promise<PlasmicAuthData> {\n const { appId, host } = opts;\n\n const token = localStorage.getItem(storageUserKey(appId));\n if (!token) {\n return { user: null, token: null };\n }\n\n const { user, error } = await getPlasmicAppUserFromToken({\n host,\n token,\n });\n\n if (error) {\n // If there is an error, we just remove the token\n // But ideally we should check if the reason is token expired\n localStorage.removeItem(storageUserKey(appId));\n console.log(`Error while checking logged user`);\n return { user: null, token: null };\n }\n\n return { user, token };\n}\n\n/**\n * Handles the authentication flow for Plasmic Auth and returns the user and token\n */\nexport function usePlasmicAuth(opts: { host?: string; appId?: string }) {\n const { host, appId } = opts;\n const authKey = `$csq$plasmic-auth-${appId}`;\n const { data: userData, isLoading } = useMutablePlasmicQueryData(\n authKey,\n async (): Promise<PlasmicAuthData> => {\n if (!appId || !isBrowser) {\n return { user: null, token: null };\n }\n\n // Fail silently for now\n try {\n // We first check if we are currently in the callback flow\n const callbackParams = getCallbackParams();\n if (callbackParams.isCallbackError || callbackParams.isCodeExchange) {\n if (callbackParams.isCallbackError) {\n // If there is an error, we just remove the callback params\n removeCallbackParams();\n console.error(`Error: ${callbackParams.error}`);\n return { user: null, token: null };\n } else {\n const codeVerifier = getCodeVerifier();\n if (!codeVerifier) {\n // If there is no codeVerifier, we just remove the callback params\n removeCallbackParams();\n console.error('No code verifier found');\n return { user: null, token: null };\n } else {\n // Perform code exchange, by the end of the callback handling we will either still be\n // in the callback page or we will be redirected to the continueTo page.\n\n const result = await handleCallback({\n host,\n appId,\n code: callbackParams.code!,\n state: callbackParams.state!,\n codeVerifier,\n });\n\n // Undefined result means that the code exchange failed\n if (!result) {\n removeCallbackParams();\n return { user: null, token: null };\n }\n\n // In the above case where the code exchange failed and the callback page requires login\n // a login redirect will be triggered\n return result;\n }\n }\n } else {\n return await checkAlreadyLoggedUser({\n appId,\n host,\n });\n }\n } catch (err) {\n console.error(`Error while handling auth: ${err}`);\n }\n\n return { user: null, token: null };\n }\n );\n\n return {\n user: userData?.user,\n token: userData?.token,\n isUserLoading: isLoading,\n };\n}\n"],"names":["storageUserKey","appId","isBrowser","window","getCodeVerifier","localStorage","getItem","err","removeCallbackParams","history","replaceState","location","pathname","console","error","isContinueToSameLocation","continueTo","origin","handleCallback","_x","_handleCallback","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","opts","host","code","state","codeVerifier","parsedState","result","wrap","_context2","prev","next","JSON","parse","getPlasmicAppUser","sent","log","abrupt","undefined","setItem","token","assign","user","stop","checkAlreadyLoggedUser","_x2","_checkAlreadyLoggedUser","_callee3","_yield$getPlasmicAppU","_context3","getPlasmicAppUserFromToken","removeItem","_useMutablePlasmicQue","useMutablePlasmicQueryData","_callee","callbackParams","_context","params","URLSearchParams","search","get","isCallbackError","isCodeExchange","t0","userData","data","isUserLoading","isLoading"],"mappings":"izNAYA,IAAMA,EAAiB,SAACC,GAAa,eAAcA,GAE7CC,EAA8B,oBAAXC,OAiBzB,SAASC,IACP,IACE,OAAOC,aAAaC,QAAQ,iBAC5B,MAAOC,GACP,OAAO,MAIX,SAASC,IACP,IACEL,OAAOM,QAAQC,aAAa,GAAI,GAAIC,SAASC,UAC7C,MAAOL,GACPM,QAAQC,+CAA+CP,IAO3D,SAASQ,EAAyBC,GAChC,IAAMJ,EAAWT,OAAOQ,SAASC,SAC3BK,EAASd,OAAOQ,SAASM,OAC/B,OAAOD,IAAeJ,GAAYI,IAAeC,EAASL,EAC3D,SAEcM,EAAcC,GAAA,OAAAC,EAAAC,WAAAC,WAAA,SAAAF,IAwC5B,OAxC4BA,EAAAG,EAAAC,IAAAC,MAA7B,SAAAC,EAA8BC,GAM7B,IAAAC,EAAA3B,EAAA4B,EAAAC,EAAAC,EAAAf,EAAAgB,EAAAC,EAAA,OAAAT,IAAAU,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACST,EAA2CD,EAA3CC,KAAM3B,EAAqC0B,EAArC1B,MAAO4B,EAA8BF,EAA9BE,KAAMC,EAAwBH,EAAxBG,MAAOC,EAAiBJ,EAAjBI,aAE9Bf,EAAa,IACjB,IACMc,IACIE,EAAcM,KAAKC,MAAMT,GAC/Bd,EAAagB,EAAYhB,YAE3B,MAAOT,GACPM,QAAQC,oCAAoCP,GAC7C,OAAA4B,EAAAE,OAEoBG,oBAAkB,CACrCZ,KAAAA,EACA3B,MAAAA,EACA4B,KAAAA,EACAE,aAAAA,IACA,OALU,KAANE,EAAME,EAAAM,MAOD3B,OAAKqB,EAAAE,OAAA,MACuD,OAArExB,QAAQ6B,6CAA6CT,EAAOnB,OAASqB,EAAAQ,qBAC9DC,GAAS,OASjB,OANDvC,aAAawC,QAAQ7C,EAAeC,GAAQgC,EAAOa,OAE9C/B,EAAyBC,GAG5BR,IAFAL,OAAOQ,SAASoC,OAAO/B,GAGxBmB,EAAAQ,gBAEM,CAAEG,MAAOb,EAAOa,MAAOE,KAAMf,EAAOe,OAAM,QAAA,UAAA,OAAAb,EAAAc,UAAAvB,QAClDL,WAAAC,WAAA,SAEc4B,EAAsBC,GAAA,OAAAC,EAAA/B,WAAAC,WA2BrC,SAAA8B,IAFC,OAEDA,EAAA7B,EAAAC,IAAAC,MA3BA,SAAA4B,EAAsC1B,GAGrC,IAAA1B,EAAA2B,EAAAkB,EAAAQ,EAAAN,EAAA,OAAAxB,IAAAU,eAAAqB,GAAA,cAAAA,EAAAnB,KAAAmB,EAAAlB,MAAA,OAG0D,GAFjDpC,EAAgB0B,EAAhB1B,MAAO2B,EAASD,EAATC,KAETkB,EAAQzC,aAAaC,QAAQN,EAAeC,KACxCsD,EAAAlB,OAAA,MAAA,OAAAkB,EAAAZ,gBACD,CAAEK,KAAM,KAAMF,MAAO,OAAM,OAAA,OAAAS,EAAAlB,OAGNmB,6BAA2B,CACvD5B,KAAAA,EACAkB,MAAAA,IACA,OAHiB,GAAXE,GAGNM,EAAAC,EAAAd,MAHMO,MAAWM,EAALxC,OAKLyC,EAAAlB,QAAA,MAIyC,OADhDhC,aAAaoD,WAAWzD,EAAeC,IACvCY,QAAQ6B,wCAAwCa,EAAAZ,gBACzC,CAAEK,KAAM,KAAMF,MAAO,OAAM,QAAA,OAAAS,EAAAZ,gBAG7B,CAAEK,KAAAA,EAAMF,MAAAA,IAAO,QAAA,UAAA,OAAAS,EAAAN,UAAAI,QACvBhC,WAAAC,8KAK8BK,GAC7B,IAAQC,EAAgBD,EAAhBC,KAAM3B,EAAU0B,EAAV1B,MAEdyD,EAAsCC,kDADD1D,EAE5BsB,EAAAC,IAAAC,MACP,SAAAmC,IAAA,IAAAC,EAAA9B,EAAAE,EAAA,OAAAT,IAAAU,eAAA4B,GAAA,cAAAA,EAAA1B,KAAA0B,EAAAzB,MAAA,OAAA,GACOpC,GAAUC,GAAS4D,EAAAzB,OAAA,MAAA,OAAAyB,EAAAnB,gBACf,CAAEK,KAAM,KAAMF,MAAO,OAAM,OAMQ,GANRgB,EAAA1B,OAtHlC2B,OAAAA,EACAjD,GADAiD,EAAS,IAAIC,gBAAgB7D,OAAOQ,SAASsD,SAC9BC,IAAI,SACnBrC,EAAOkC,EAAOG,IAAI,QAClBpC,EAAQiC,EAAOG,IAAI,WAyHbL,EAvHL,CACLM,kBAAmBrD,EACnBsD,iBAAkBvC,KAAUC,EAC5BhB,MAAAA,EACAe,KAAAA,EACAC,MAAAA,IAmHuBqC,kBAAmBN,EAAeO,gBAAcN,EAAAzB,QAAA,MAAA,IAC7DwB,EAAeM,iBAAeL,EAAAzB,QAAA,MAGgB,OADhD7B,IACAK,QAAQC,gBAAgB+C,EAAe/C,OAASgD,EAAAnB,gBACzC,CAAEK,KAAM,KAAMF,MAAO,OAAM,QAEI,GAAhCf,EAAe3B,KACJ0D,EAAAzB,QAAA,MAGyB,OADxC7B,IACAK,QAAQC,MAAM,0BAA0BgD,EAAAnB,gBACjC,CAAEK,KAAM,KAAMF,MAAO,OAAM,QAAA,OAAAgB,EAAAzB,QAKbnB,EAAe,CAClCU,KAAAA,EACA3B,MAAAA,EACA4B,KAAMgC,EAAehC,KACrBC,MAAO+B,EAAe/B,MACtBC,aAAAA,IACA,QANU,GAANE,EAAM6B,EAAArB,MASDqB,EAAAzB,QAAA,MACc,OAAvB7B,IAAuBsD,EAAAnB,gBAChB,CAAEK,KAAM,KAAMF,MAAO,OAAM,QAAA,OAAAgB,EAAAnB,gBAK7BV,GAAM,QAAA6B,EAAAzB,QAAA,MAAA,QAAA,OAAAyB,EAAAzB,QAIJa,EAAuB,CAClCjD,MAAAA,EACA2B,KAAAA,IACA,QAAA,OAAAkC,EAAAnB,gBAAAmB,EAAArB,MAAA,QAAAqB,EAAAzB,QAAA,MAAA,QAAAyB,EAAA1B,QAAA0B,EAAAO,GAAAP,WAGJjD,QAAQC,oCAAKgD,EAAAO,IAAsC,QAAA,OAAAP,EAAAnB,gBAG9C,CAAEK,KAAM,KAAMF,MAAO,OAAM,QAAA,UAAA,OAAAgB,EAAAb,OA5KxC,IACQc,EACAjD,EACAe,EACAC,IAwKgC8B,sBAzDxBU,EAAQZ,EAAda,KA6DR,MAAO,CACLvB,WAAMsB,SAAAA,EAAUtB,KAChBF,YAAOwB,SAAAA,EAAUxB,MACjB0B,cAhE+Bd,EAATe"}
|
package/dist/auth-react.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getPlasmicAppUser, getPlasmicAppUserFromToken } from '@plasmicapp/auth-api';
|
|
2
2
|
export * from '@plasmicapp/auth-api';
|
|
3
3
|
import { useMutablePlasmicQueryData } from '@plasmicapp/query';
|
|
4
4
|
|
|
@@ -334,8 +334,9 @@ function _asyncToGenerator(fn) {
|
|
|
334
334
|
};
|
|
335
335
|
}
|
|
336
336
|
|
|
337
|
-
var
|
|
338
|
-
|
|
337
|
+
var storageUserKey = function storageUserKey(appId) {
|
|
338
|
+
return "$user." + appId;
|
|
339
|
+
};
|
|
339
340
|
var isBrowser = typeof window !== 'undefined';
|
|
340
341
|
function getCallbackParams() {
|
|
341
342
|
var params = new URLSearchParams(window.location.search);
|
|
@@ -373,10 +374,13 @@ function isContinueToSameLocation(continueTo) {
|
|
|
373
374
|
return continueTo === pathname || continueTo === origin + pathname;
|
|
374
375
|
}
|
|
375
376
|
function handleCallback(_x) {
|
|
376
|
-
return
|
|
377
|
+
return _handleCallback.apply(this, arguments);
|
|
378
|
+
}
|
|
379
|
+
function _handleCallback() {
|
|
380
|
+
_handleCallback = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opts) {
|
|
377
381
|
var host, appId, code, state, codeVerifier, continueTo, parsedState, result;
|
|
378
|
-
return _regeneratorRuntime().wrap(function
|
|
379
|
-
while (1) switch (
|
|
382
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
383
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
380
384
|
case 0:
|
|
381
385
|
host = opts.host, appId = opts.appId, code = opts.code, state = opts.state, codeVerifier = opts.codeVerifier;
|
|
382
386
|
continueTo = '/';
|
|
@@ -388,7 +392,7 @@ function handleCallback(_x) {
|
|
|
388
392
|
} catch (err) {
|
|
389
393
|
console.error("Error while parsing state: " + err);
|
|
390
394
|
}
|
|
391
|
-
|
|
395
|
+
_context2.next = 5;
|
|
392
396
|
return getPlasmicAppUser({
|
|
393
397
|
host: host,
|
|
394
398
|
appId: appId,
|
|
@@ -396,135 +400,140 @@ function handleCallback(_x) {
|
|
|
396
400
|
codeVerifier: codeVerifier
|
|
397
401
|
});
|
|
398
402
|
case 5:
|
|
399
|
-
result =
|
|
403
|
+
result = _context2.sent;
|
|
400
404
|
if (!result.error) {
|
|
401
|
-
|
|
405
|
+
_context2.next = 9;
|
|
402
406
|
break;
|
|
403
407
|
}
|
|
404
408
|
console.log("Error while performing code exchange: " + result.error);
|
|
405
|
-
return
|
|
409
|
+
return _context2.abrupt("return", undefined);
|
|
406
410
|
case 9:
|
|
407
|
-
localStorage.setItem(
|
|
411
|
+
localStorage.setItem(storageUserKey(appId), result.token);
|
|
408
412
|
if (!isContinueToSameLocation(continueTo)) {
|
|
409
413
|
window.location.assign(continueTo);
|
|
410
414
|
} else {
|
|
411
415
|
removeCallbackParams();
|
|
412
416
|
}
|
|
413
|
-
return
|
|
417
|
+
return _context2.abrupt("return", {
|
|
414
418
|
token: result.token,
|
|
415
419
|
user: result.user
|
|
416
420
|
});
|
|
417
421
|
case 12:
|
|
418
422
|
case "end":
|
|
419
|
-
return
|
|
423
|
+
return _context2.stop();
|
|
420
424
|
}
|
|
421
|
-
},
|
|
422
|
-
}))
|
|
425
|
+
}, _callee2);
|
|
426
|
+
}));
|
|
427
|
+
return _handleCallback.apply(this, arguments);
|
|
423
428
|
}
|
|
424
429
|
function checkAlreadyLoggedUser(_x2) {
|
|
425
|
-
return
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
430
|
+
return _checkAlreadyLoggedUser.apply(this, arguments);
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Handles the authentication flow for Plasmic Auth and returns the user and token
|
|
434
|
+
*/
|
|
435
|
+
function _checkAlreadyLoggedUser() {
|
|
436
|
+
_checkAlreadyLoggedUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(opts) {
|
|
437
|
+
var appId, host, token, _yield$getPlasmicAppU, user, error;
|
|
438
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
439
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
429
440
|
case 0:
|
|
430
|
-
host = opts.host;
|
|
431
|
-
token = localStorage.getItem(
|
|
441
|
+
appId = opts.appId, host = opts.host;
|
|
442
|
+
token = localStorage.getItem(storageUserKey(appId));
|
|
432
443
|
if (token) {
|
|
433
|
-
|
|
444
|
+
_context3.next = 4;
|
|
434
445
|
break;
|
|
435
446
|
}
|
|
436
|
-
return
|
|
447
|
+
return _context3.abrupt("return", {
|
|
437
448
|
user: null,
|
|
438
449
|
token: null
|
|
439
450
|
});
|
|
440
451
|
case 4:
|
|
441
|
-
|
|
452
|
+
_context3.next = 6;
|
|
442
453
|
return getPlasmicAppUserFromToken({
|
|
443
454
|
host: host,
|
|
444
455
|
token: token
|
|
445
456
|
});
|
|
446
457
|
case 6:
|
|
447
|
-
_yield$getPlasmicAppU =
|
|
458
|
+
_yield$getPlasmicAppU = _context3.sent;
|
|
448
459
|
user = _yield$getPlasmicAppU.user;
|
|
449
460
|
error = _yield$getPlasmicAppU.error;
|
|
450
461
|
if (!error) {
|
|
451
|
-
|
|
462
|
+
_context3.next = 13;
|
|
452
463
|
break;
|
|
453
464
|
}
|
|
454
465
|
// If there is an error, we just remove the token
|
|
455
466
|
// But ideally we should check if the reason is token expired
|
|
456
|
-
localStorage.removeItem(
|
|
467
|
+
localStorage.removeItem(storageUserKey(appId));
|
|
457
468
|
console.log("Error while checking logged user");
|
|
458
|
-
return
|
|
469
|
+
return _context3.abrupt("return", {
|
|
459
470
|
user: null,
|
|
460
471
|
token: null
|
|
461
472
|
});
|
|
462
473
|
case 13:
|
|
463
|
-
return
|
|
474
|
+
return _context3.abrupt("return", {
|
|
464
475
|
user: user,
|
|
465
476
|
token: token
|
|
466
477
|
});
|
|
467
478
|
case 14:
|
|
468
479
|
case "end":
|
|
469
|
-
return
|
|
480
|
+
return _context3.stop();
|
|
470
481
|
}
|
|
471
|
-
},
|
|
472
|
-
}))
|
|
482
|
+
}, _callee3);
|
|
483
|
+
}));
|
|
484
|
+
return _checkAlreadyLoggedUser.apply(this, arguments);
|
|
473
485
|
}
|
|
474
|
-
/**
|
|
475
|
-
* Handles the authentication flow for Plasmic Auth and returns the user and token
|
|
476
|
-
*/
|
|
477
486
|
function usePlasmicAuth(opts) {
|
|
478
487
|
var host = opts.host,
|
|
479
488
|
appId = opts.appId;
|
|
480
489
|
var authKey = "$csq$plasmic-auth-" + appId;
|
|
481
|
-
var _useMutablePlasmicQue = useMutablePlasmicQueryData(authKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
490
|
+
var _useMutablePlasmicQue = useMutablePlasmicQueryData(authKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
482
491
|
var callbackParams, codeVerifier, result;
|
|
483
|
-
return _regeneratorRuntime().wrap(function
|
|
484
|
-
while (1) switch (
|
|
492
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
493
|
+
while (1) switch (_context.prev = _context.next) {
|
|
485
494
|
case 0:
|
|
486
495
|
if (!(!appId || !isBrowser)) {
|
|
487
|
-
|
|
496
|
+
_context.next = 2;
|
|
488
497
|
break;
|
|
489
498
|
}
|
|
490
|
-
return
|
|
499
|
+
return _context.abrupt("return", {
|
|
491
500
|
user: null,
|
|
492
501
|
token: null
|
|
493
502
|
});
|
|
494
503
|
case 2:
|
|
495
|
-
|
|
504
|
+
_context.prev = 2;
|
|
496
505
|
// We first check if we are currently in the callback flow
|
|
497
506
|
callbackParams = getCallbackParams();
|
|
498
507
|
if (!(callbackParams.isCallbackError || callbackParams.isCodeExchange)) {
|
|
499
|
-
|
|
508
|
+
_context.next = 27;
|
|
500
509
|
break;
|
|
501
510
|
}
|
|
502
511
|
if (!callbackParams.isCallbackError) {
|
|
503
|
-
|
|
512
|
+
_context.next = 11;
|
|
504
513
|
break;
|
|
505
514
|
}
|
|
506
515
|
// If there is an error, we just remove the callback params
|
|
507
516
|
removeCallbackParams();
|
|
508
517
|
console.error("Error: " + callbackParams.error);
|
|
509
|
-
return
|
|
518
|
+
return _context.abrupt("return", {
|
|
510
519
|
user: null,
|
|
511
520
|
token: null
|
|
512
521
|
});
|
|
513
522
|
case 11:
|
|
514
523
|
codeVerifier = getCodeVerifier();
|
|
515
524
|
if (codeVerifier) {
|
|
516
|
-
|
|
525
|
+
_context.next = 18;
|
|
517
526
|
break;
|
|
518
527
|
}
|
|
519
528
|
// If there is no codeVerifier, we just remove the callback params
|
|
520
529
|
removeCallbackParams();
|
|
521
530
|
console.error('No code verifier found');
|
|
522
|
-
return
|
|
531
|
+
return _context.abrupt("return", {
|
|
523
532
|
user: null,
|
|
524
533
|
token: null
|
|
525
534
|
});
|
|
526
535
|
case 18:
|
|
527
|
-
|
|
536
|
+
_context.next = 20;
|
|
528
537
|
return handleCallback({
|
|
529
538
|
host: host,
|
|
530
539
|
appId: appId,
|
|
@@ -533,45 +542,46 @@ function usePlasmicAuth(opts) {
|
|
|
533
542
|
codeVerifier: codeVerifier
|
|
534
543
|
});
|
|
535
544
|
case 20:
|
|
536
|
-
result =
|
|
545
|
+
result = _context.sent;
|
|
537
546
|
if (result) {
|
|
538
|
-
|
|
547
|
+
_context.next = 24;
|
|
539
548
|
break;
|
|
540
549
|
}
|
|
541
550
|
removeCallbackParams();
|
|
542
|
-
return
|
|
551
|
+
return _context.abrupt("return", {
|
|
543
552
|
user: null,
|
|
544
553
|
token: null
|
|
545
554
|
});
|
|
546
555
|
case 24:
|
|
547
|
-
return
|
|
556
|
+
return _context.abrupt("return", result);
|
|
548
557
|
case 25:
|
|
549
|
-
|
|
558
|
+
_context.next = 30;
|
|
550
559
|
break;
|
|
551
560
|
case 27:
|
|
552
|
-
|
|
561
|
+
_context.next = 29;
|
|
553
562
|
return checkAlreadyLoggedUser({
|
|
563
|
+
appId: appId,
|
|
554
564
|
host: host
|
|
555
565
|
});
|
|
556
566
|
case 29:
|
|
557
|
-
return
|
|
567
|
+
return _context.abrupt("return", _context.sent);
|
|
558
568
|
case 30:
|
|
559
|
-
|
|
569
|
+
_context.next = 35;
|
|
560
570
|
break;
|
|
561
571
|
case 32:
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
console.error("Error while handling auth: " +
|
|
572
|
+
_context.prev = 32;
|
|
573
|
+
_context.t0 = _context["catch"](2);
|
|
574
|
+
console.error("Error while handling auth: " + _context.t0);
|
|
565
575
|
case 35:
|
|
566
|
-
return
|
|
576
|
+
return _context.abrupt("return", {
|
|
567
577
|
user: null,
|
|
568
578
|
token: null
|
|
569
579
|
});
|
|
570
580
|
case 36:
|
|
571
581
|
case "end":
|
|
572
|
-
return
|
|
582
|
+
return _context.stop();
|
|
573
583
|
}
|
|
574
|
-
},
|
|
584
|
+
}, _callee, null, [[2, 32]]);
|
|
575
585
|
}))),
|
|
576
586
|
userData = _useMutablePlasmicQue.data,
|
|
577
587
|
isLoading = _useMutablePlasmicQue.isLoading;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-react.esm.js","sources":["../src/hooks.ts"],"sourcesContent":["import {\n getPlasmicAppUser,\n getPlasmicAppUserFromToken,\n} from '@plasmicapp/auth-api';\nimport { useMutablePlasmicQueryData } from '@plasmicapp/query';\n\ninterface PlasmicAuthData {\n user: any;\n token: string | null;\n}\n\nconst STORAGE_USER_KEY = 'plasmic_user';\nconst isBrowser = typeof window !== 'undefined';\n\nfunction getCallbackParams() {\n const params = new URLSearchParams(window.location.search);\n const error = params.get('error');\n const code = params.get('code');\n const state = params.get('state');\n\n return {\n isCallbackError: !!error,\n isCodeExchange: !!code && !!state,\n error,\n code,\n state,\n };\n}\n\nfunction getCodeVerifier() {\n try {\n return localStorage.getItem('code_verifier');\n } catch (err) {\n return null;\n }\n}\n\nfunction removeCallbackParams() {\n try {\n window.history.replaceState({}, '', location.pathname);\n } catch (err) {\n console.error(`Error while removing callback params: ${err}`);\n }\n}\n\n// continueTo can be only a pathname or a full url with origin\n// we can consider that currently we are at the callback page\n// with callback params, so ignore the search params\nfunction isContinueToSameLocation(continueTo: string) {\n const pathname = window.location.pathname;\n const origin = window.location.origin;\n return continueTo === pathname || continueTo === origin + pathname;\n}\n\nasync function handleCallback(opts: {\n host?: string;\n appId: string;\n code: string;\n state: string;\n codeVerifier: string;\n}): Promise<PlasmicAuthData | undefined> {\n const { host, appId, code, state, codeVerifier } = opts;\n\n let continueTo = '/';\n try {\n if (state) {\n const parsedState = JSON.parse(state);\n continueTo = parsedState.continueTo;\n }\n } catch (err) {\n console.error(`Error while parsing state: ${err}`);\n }\n\n const result = await getPlasmicAppUser({\n host,\n appId,\n code,\n codeVerifier,\n });\n\n if (result.error) {\n console.log(`Error while performing code exchange: ${result.error}`);\n return undefined;\n }\n\n localStorage.setItem(STORAGE_USER_KEY, result.token);\n\n if (!isContinueToSameLocation(continueTo)) {\n window.location.assign(continueTo);\n } else {\n removeCallbackParams();\n }\n\n return { token: result.token, user: result.user };\n}\n\nasync function checkAlreadyLoggedUser(opts: {\n host?: string;\n}): Promise<PlasmicAuthData> {\n const { host } = opts;\n\n const token = localStorage.getItem(STORAGE_USER_KEY);\n if (!token) {\n return { user: null, token: null };\n }\n\n const { user, error } = await getPlasmicAppUserFromToken({\n host,\n token,\n });\n\n if (error) {\n // If there is an error, we just remove the token\n // But ideally we should check if the reason is token expired\n localStorage.removeItem(STORAGE_USER_KEY);\n console.log(`Error while checking logged user`);\n return { user: null, token: null };\n }\n\n return { user, token };\n}\n\n/**\n * Handles the authentication flow for Plasmic Auth and returns the user and token\n */\nexport function usePlasmicAuth(opts: { host?: string; appId?: string }) {\n const { host, appId } = opts;\n const authKey = `$csq$plasmic-auth-${appId}`;\n const { data: userData, isLoading } = useMutablePlasmicQueryData(\n authKey,\n async (): Promise<PlasmicAuthData> => {\n if (!appId || !isBrowser) {\n return { user: null, token: null };\n }\n\n // Fail silently for now\n try {\n // We first check if we are currently in the callback flow\n const callbackParams = getCallbackParams();\n if (callbackParams.isCallbackError || callbackParams.isCodeExchange) {\n if (callbackParams.isCallbackError) {\n // If there is an error, we just remove the callback params\n removeCallbackParams();\n console.error(`Error: ${callbackParams.error}`);\n return { user: null, token: null };\n } else {\n const codeVerifier = getCodeVerifier();\n if (!codeVerifier) {\n // If there is no codeVerifier, we just remove the callback params\n removeCallbackParams();\n console.error('No code verifier found');\n return { user: null, token: null };\n } else {\n // Perform code exchange, by the end of the callback handling we will either still be\n // in the callback page or we will be redirected to the continueTo page.\n\n const result = await handleCallback({\n host,\n appId,\n code: callbackParams.code!,\n state: callbackParams.state!,\n codeVerifier,\n });\n\n // Undefined result means that the code exchange failed\n if (!result) {\n removeCallbackParams();\n return { user: null, token: null };\n }\n\n // In the above case where the code exchange failed and the callback page requires login\n // a login redirect will be triggered\n return result;\n }\n }\n } else {\n return await checkAlreadyLoggedUser({\n host,\n });\n }\n } catch (err) {\n console.error(`Error while handling auth: ${err}`);\n }\n\n return { user: null, token: null };\n }\n );\n\n return {\n user: userData?.user,\n token: userData?.token,\n isUserLoading: isLoading,\n };\n}\n"],"names":["STORAGE_USER_KEY","isBrowser","window","getCallbackParams","params","URLSearchParams","location","search","error","get","code","state","isCallbackError","isCodeExchange","getCodeVerifier","localStorage","getItem","err","removeCallbackParams","history","replaceState","pathname","console","isContinueToSameLocation","continueTo","origin","handleCallback","_x","_handleCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","opts","host","appId","codeVerifier","parsedState","result","wrap","_callee$","_context","prev","next","JSON","parse","getPlasmicAppUser","sent","log","abrupt","undefined","setItem","token","assign","user","stop","apply","arguments","checkAlreadyLoggedUser","_x2","_checkAlreadyLoggedUser","_callee2","_yield$getPlasmicAppU","_callee2$","_context2","getPlasmicAppUserFromToken","removeItem","usePlasmicAuth","authKey","_useMutablePlasmicQue","useMutablePlasmicQueryData","_callee3","callbackParams","_callee3$","_context3","t0","userData","data","isLoading","isUserLoading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth-react.esm.js","sources":["../src/hooks.ts"],"sourcesContent":["import {\n getPlasmicAppUser,\n getPlasmicAppUserFromToken,\n PlasmicUser,\n} from '@plasmicapp/auth-api';\nimport { useMutablePlasmicQueryData } from '@plasmicapp/query';\n\ninterface PlasmicAuthData {\n user: PlasmicUser | null;\n token: string | null;\n}\n\nconst storageUserKey = (appId: string) => `$user.${appId}`;\n\nconst isBrowser = typeof window !== 'undefined';\n\nfunction getCallbackParams() {\n const params = new URLSearchParams(window.location.search);\n const error = params.get('error');\n const code = params.get('code');\n const state = params.get('state');\n\n return {\n isCallbackError: !!error,\n isCodeExchange: !!code && !!state,\n error,\n code,\n state,\n };\n}\n\nfunction getCodeVerifier() {\n try {\n return localStorage.getItem('code_verifier');\n } catch (err) {\n return null;\n }\n}\n\nfunction removeCallbackParams() {\n try {\n window.history.replaceState({}, '', location.pathname);\n } catch (err) {\n console.error(`Error while removing callback params: ${err}`);\n }\n}\n\n// continueTo can be only a pathname or a full url with origin\n// we can consider that currently we are at the callback page\n// with callback params, so ignore the search params\nfunction isContinueToSameLocation(continueTo: string) {\n const pathname = window.location.pathname;\n const origin = window.location.origin;\n return continueTo === pathname || continueTo === origin + pathname;\n}\n\nasync function handleCallback(opts: {\n host?: string;\n appId: string;\n code: string;\n state: string;\n codeVerifier: string;\n}): Promise<PlasmicAuthData | undefined> {\n const { host, appId, code, state, codeVerifier } = opts;\n\n let continueTo = '/';\n try {\n if (state) {\n const parsedState = JSON.parse(state);\n continueTo = parsedState.continueTo;\n }\n } catch (err) {\n console.error(`Error while parsing state: ${err}`);\n }\n\n const result = await getPlasmicAppUser({\n host,\n appId,\n code,\n codeVerifier,\n });\n\n if (result.error) {\n console.log(`Error while performing code exchange: ${result.error}`);\n return undefined;\n }\n\n localStorage.setItem(storageUserKey(appId), result.token);\n\n if (!isContinueToSameLocation(continueTo)) {\n window.location.assign(continueTo);\n } else {\n removeCallbackParams();\n }\n\n return { token: result.token, user: result.user };\n}\n\nasync function checkAlreadyLoggedUser(opts: {\n appId: string;\n host?: string;\n}): Promise<PlasmicAuthData> {\n const { appId, host } = opts;\n\n const token = localStorage.getItem(storageUserKey(appId));\n if (!token) {\n return { user: null, token: null };\n }\n\n const { user, error } = await getPlasmicAppUserFromToken({\n host,\n token,\n });\n\n if (error) {\n // If there is an error, we just remove the token\n // But ideally we should check if the reason is token expired\n localStorage.removeItem(storageUserKey(appId));\n console.log(`Error while checking logged user`);\n return { user: null, token: null };\n }\n\n return { user, token };\n}\n\n/**\n * Handles the authentication flow for Plasmic Auth and returns the user and token\n */\nexport function usePlasmicAuth(opts: { host?: string; appId?: string }) {\n const { host, appId } = opts;\n const authKey = `$csq$plasmic-auth-${appId}`;\n const { data: userData, isLoading } = useMutablePlasmicQueryData(\n authKey,\n async (): Promise<PlasmicAuthData> => {\n if (!appId || !isBrowser) {\n return { user: null, token: null };\n }\n\n // Fail silently for now\n try {\n // We first check if we are currently in the callback flow\n const callbackParams = getCallbackParams();\n if (callbackParams.isCallbackError || callbackParams.isCodeExchange) {\n if (callbackParams.isCallbackError) {\n // If there is an error, we just remove the callback params\n removeCallbackParams();\n console.error(`Error: ${callbackParams.error}`);\n return { user: null, token: null };\n } else {\n const codeVerifier = getCodeVerifier();\n if (!codeVerifier) {\n // If there is no codeVerifier, we just remove the callback params\n removeCallbackParams();\n console.error('No code verifier found');\n return { user: null, token: null };\n } else {\n // Perform code exchange, by the end of the callback handling we will either still be\n // in the callback page or we will be redirected to the continueTo page.\n\n const result = await handleCallback({\n host,\n appId,\n code: callbackParams.code!,\n state: callbackParams.state!,\n codeVerifier,\n });\n\n // Undefined result means that the code exchange failed\n if (!result) {\n removeCallbackParams();\n return { user: null, token: null };\n }\n\n // In the above case where the code exchange failed and the callback page requires login\n // a login redirect will be triggered\n return result;\n }\n }\n } else {\n return await checkAlreadyLoggedUser({\n appId,\n host,\n });\n }\n } catch (err) {\n console.error(`Error while handling auth: ${err}`);\n }\n\n return { user: null, token: null };\n }\n );\n\n return {\n user: userData?.user,\n token: userData?.token,\n isUserLoading: isLoading,\n };\n}\n"],"names":["storageUserKey","appId","isBrowser","window","getCallbackParams","params","URLSearchParams","location","search","error","get","code","state","isCallbackError","isCodeExchange","getCodeVerifier","localStorage","getItem","err","removeCallbackParams","history","replaceState","pathname","console","isContinueToSameLocation","continueTo","origin","handleCallback","_x","_handleCallback","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","opts","host","codeVerifier","parsedState","result","wrap","_callee2$","_context2","prev","next","JSON","parse","getPlasmicAppUser","sent","log","abrupt","undefined","setItem","token","assign","user","stop","checkAlreadyLoggedUser","_x2","_checkAlreadyLoggedUser","_callee3","_yield$getPlasmicAppU","_callee3$","_context3","getPlasmicAppUserFromToken","removeItem","usePlasmicAuth","authKey","_useMutablePlasmicQue","useMutablePlasmicQueryData","_callee","callbackParams","_callee$","_context","t0","userData","data","isLoading","isUserLoading"],"mappings":"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"}
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PlasmicUser } from '@plasmicapp/auth-api';
|
|
1
2
|
/**
|
|
2
3
|
* Handles the authentication flow for Plasmic Auth and returns the user and token
|
|
3
4
|
*/
|
|
@@ -5,7 +6,7 @@ export declare function usePlasmicAuth(opts: {
|
|
|
5
6
|
host?: string;
|
|
6
7
|
appId?: string;
|
|
7
8
|
}): {
|
|
8
|
-
user:
|
|
9
|
+
user: PlasmicUser | null | undefined;
|
|
9
10
|
token: string | null | undefined;
|
|
10
11
|
isUserLoading: boolean | undefined;
|
|
11
12
|
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.0.
|
|
2
|
+
"version": "0.0.11",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -57,14 +57,14 @@
|
|
|
57
57
|
"tslib": "^2.2.0"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@plasmicapp/auth-api": "0.0.
|
|
60
|
+
"@plasmicapp/auth-api": "0.0.8",
|
|
61
61
|
"@plasmicapp/isomorphic-unfetch": "1.0.3",
|
|
62
|
-
"@plasmicapp/query": "0.1.
|
|
62
|
+
"@plasmicapp/query": "0.1.70"
|
|
63
63
|
},
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "6e966ef24adb9af472b56a5051faf2b8e6e04f12",
|
|
68
68
|
"peerDependencies": {
|
|
69
69
|
"react": ">=16.8.0"
|
|
70
70
|
}
|