@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.
@@ -337,8 +337,9 @@ function _asyncToGenerator(fn) {
337
337
  };
338
338
  }
339
339
 
340
- var _handleCallback, _checkAlreadyLoggedUser;
341
- var STORAGE_USER_KEY = 'plasmic_user';
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 (_handleCallback = _handleCallback || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(opts) {
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 _callee$(_context) {
382
- while (1) switch (_context.prev = _context.next) {
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
- _context.next = 5;
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 = _context.sent;
406
+ result = _context2.sent;
403
407
  if (!result.error) {
404
- _context.next = 9;
408
+ _context2.next = 9;
405
409
  break;
406
410
  }
407
411
  console.log("Error while performing code exchange: " + result.error);
408
- return _context.abrupt("return", undefined);
412
+ return _context2.abrupt("return", undefined);
409
413
  case 9:
410
- localStorage.setItem(STORAGE_USER_KEY, result.token);
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 _context.abrupt("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 _context.stop();
426
+ return _context2.stop();
423
427
  }
424
- }, _callee);
425
- }))).apply(this, arguments);
428
+ }, _callee2);
429
+ }));
430
+ return _handleCallback.apply(this, arguments);
426
431
  }
427
432
  function checkAlreadyLoggedUser(_x2) {
428
- return (_checkAlreadyLoggedUser = _checkAlreadyLoggedUser || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opts) {
429
- var host, token, _yield$getPlasmicAppU, user, error;
430
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
431
- while (1) switch (_context2.prev = _context2.next) {
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(STORAGE_USER_KEY);
444
+ appId = opts.appId, host = opts.host;
445
+ token = localStorage.getItem(storageUserKey(appId));
435
446
  if (token) {
436
- _context2.next = 4;
447
+ _context3.next = 4;
437
448
  break;
438
449
  }
439
- return _context2.abrupt("return", {
450
+ return _context3.abrupt("return", {
440
451
  user: null,
441
452
  token: null
442
453
  });
443
454
  case 4:
444
- _context2.next = 6;
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 = _context2.sent;
461
+ _yield$getPlasmicAppU = _context3.sent;
451
462
  user = _yield$getPlasmicAppU.user;
452
463
  error = _yield$getPlasmicAppU.error;
453
464
  if (!error) {
454
- _context2.next = 13;
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(STORAGE_USER_KEY);
470
+ localStorage.removeItem(storageUserKey(appId));
460
471
  console.log("Error while checking logged user");
461
- return _context2.abrupt("return", {
472
+ return _context3.abrupt("return", {
462
473
  user: null,
463
474
  token: null
464
475
  });
465
476
  case 13:
466
- return _context2.abrupt("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 _context2.stop();
483
+ return _context3.stop();
473
484
  }
474
- }, _callee2);
475
- }))).apply(this, arguments);
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 _callee3() {
493
+ var _useMutablePlasmicQue = query.useMutablePlasmicQueryData(authKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
485
494
  var callbackParams, codeVerifier, result;
486
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
487
- while (1) switch (_context3.prev = _context3.next) {
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
- _context3.next = 2;
499
+ _context.next = 2;
491
500
  break;
492
501
  }
493
- return _context3.abrupt("return", {
502
+ return _context.abrupt("return", {
494
503
  user: null,
495
504
  token: null
496
505
  });
497
506
  case 2:
498
- _context3.prev = 2;
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
- _context3.next = 27;
511
+ _context.next = 27;
503
512
  break;
504
513
  }
505
514
  if (!callbackParams.isCallbackError) {
506
- _context3.next = 11;
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 _context3.abrupt("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
- _context3.next = 18;
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 _context3.abrupt("return", {
534
+ return _context.abrupt("return", {
526
535
  user: null,
527
536
  token: null
528
537
  });
529
538
  case 18:
530
- _context3.next = 20;
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 = _context3.sent;
548
+ result = _context.sent;
540
549
  if (result) {
541
- _context3.next = 24;
550
+ _context.next = 24;
542
551
  break;
543
552
  }
544
553
  removeCallbackParams();
545
- return _context3.abrupt("return", {
554
+ return _context.abrupt("return", {
546
555
  user: null,
547
556
  token: null
548
557
  });
549
558
  case 24:
550
- return _context3.abrupt("return", result);
559
+ return _context.abrupt("return", result);
551
560
  case 25:
552
- _context3.next = 30;
561
+ _context.next = 30;
553
562
  break;
554
563
  case 27:
555
- _context3.next = 29;
564
+ _context.next = 29;
556
565
  return checkAlreadyLoggedUser({
566
+ appId: appId,
557
567
  host: host
558
568
  });
559
569
  case 29:
560
- return _context3.abrupt("return", _context3.sent);
570
+ return _context.abrupt("return", _context.sent);
561
571
  case 30:
562
- _context3.next = 35;
572
+ _context.next = 35;
563
573
  break;
564
574
  case 32:
565
- _context3.prev = 32;
566
- _context3.t0 = _context3["catch"](2);
567
- console.error("Error while handling auth: " + _context3.t0);
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 _context3.abrupt("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 _context3.stop();
585
+ return _context.stop();
576
586
  }
577
- }, _callee3, null, [[2, 32]]);
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":"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"}
@@ -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":"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"}
@@ -1,4 +1,4 @@
1
- import { getPlasmicAppUserFromToken, getPlasmicAppUser } from '@plasmicapp/auth-api';
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 _handleCallback, _checkAlreadyLoggedUser;
338
- var STORAGE_USER_KEY = 'plasmic_user';
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 (_handleCallback = _handleCallback || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(opts) {
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 _callee$(_context) {
379
- while (1) switch (_context.prev = _context.next) {
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
- _context.next = 5;
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 = _context.sent;
403
+ result = _context2.sent;
400
404
  if (!result.error) {
401
- _context.next = 9;
405
+ _context2.next = 9;
402
406
  break;
403
407
  }
404
408
  console.log("Error while performing code exchange: " + result.error);
405
- return _context.abrupt("return", undefined);
409
+ return _context2.abrupt("return", undefined);
406
410
  case 9:
407
- localStorage.setItem(STORAGE_USER_KEY, result.token);
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 _context.abrupt("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 _context.stop();
423
+ return _context2.stop();
420
424
  }
421
- }, _callee);
422
- }))).apply(this, arguments);
425
+ }, _callee2);
426
+ }));
427
+ return _handleCallback.apply(this, arguments);
423
428
  }
424
429
  function checkAlreadyLoggedUser(_x2) {
425
- return (_checkAlreadyLoggedUser = _checkAlreadyLoggedUser || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opts) {
426
- var host, token, _yield$getPlasmicAppU, user, error;
427
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
428
- while (1) switch (_context2.prev = _context2.next) {
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(STORAGE_USER_KEY);
441
+ appId = opts.appId, host = opts.host;
442
+ token = localStorage.getItem(storageUserKey(appId));
432
443
  if (token) {
433
- _context2.next = 4;
444
+ _context3.next = 4;
434
445
  break;
435
446
  }
436
- return _context2.abrupt("return", {
447
+ return _context3.abrupt("return", {
437
448
  user: null,
438
449
  token: null
439
450
  });
440
451
  case 4:
441
- _context2.next = 6;
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 = _context2.sent;
458
+ _yield$getPlasmicAppU = _context3.sent;
448
459
  user = _yield$getPlasmicAppU.user;
449
460
  error = _yield$getPlasmicAppU.error;
450
461
  if (!error) {
451
- _context2.next = 13;
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(STORAGE_USER_KEY);
467
+ localStorage.removeItem(storageUserKey(appId));
457
468
  console.log("Error while checking logged user");
458
- return _context2.abrupt("return", {
469
+ return _context3.abrupt("return", {
459
470
  user: null,
460
471
  token: null
461
472
  });
462
473
  case 13:
463
- return _context2.abrupt("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 _context2.stop();
480
+ return _context3.stop();
470
481
  }
471
- }, _callee2);
472
- }))).apply(this, arguments);
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 _callee3() {
490
+ var _useMutablePlasmicQue = useMutablePlasmicQueryData(authKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
482
491
  var callbackParams, codeVerifier, result;
483
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
484
- while (1) switch (_context3.prev = _context3.next) {
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
- _context3.next = 2;
496
+ _context.next = 2;
488
497
  break;
489
498
  }
490
- return _context3.abrupt("return", {
499
+ return _context.abrupt("return", {
491
500
  user: null,
492
501
  token: null
493
502
  });
494
503
  case 2:
495
- _context3.prev = 2;
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
- _context3.next = 27;
508
+ _context.next = 27;
500
509
  break;
501
510
  }
502
511
  if (!callbackParams.isCallbackError) {
503
- _context3.next = 11;
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 _context3.abrupt("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
- _context3.next = 18;
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 _context3.abrupt("return", {
531
+ return _context.abrupt("return", {
523
532
  user: null,
524
533
  token: null
525
534
  });
526
535
  case 18:
527
- _context3.next = 20;
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 = _context3.sent;
545
+ result = _context.sent;
537
546
  if (result) {
538
- _context3.next = 24;
547
+ _context.next = 24;
539
548
  break;
540
549
  }
541
550
  removeCallbackParams();
542
- return _context3.abrupt("return", {
551
+ return _context.abrupt("return", {
543
552
  user: null,
544
553
  token: null
545
554
  });
546
555
  case 24:
547
- return _context3.abrupt("return", result);
556
+ return _context.abrupt("return", result);
548
557
  case 25:
549
- _context3.next = 30;
558
+ _context.next = 30;
550
559
  break;
551
560
  case 27:
552
- _context3.next = 29;
561
+ _context.next = 29;
553
562
  return checkAlreadyLoggedUser({
563
+ appId: appId,
554
564
  host: host
555
565
  });
556
566
  case 29:
557
- return _context3.abrupt("return", _context3.sent);
567
+ return _context.abrupt("return", _context.sent);
558
568
  case 30:
559
- _context3.next = 35;
569
+ _context.next = 35;
560
570
  break;
561
571
  case 32:
562
- _context3.prev = 32;
563
- _context3.t0 = _context3["catch"](2);
564
- console.error("Error while handling auth: " + _context3.t0);
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 _context3.abrupt("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 _context3.stop();
582
+ return _context.stop();
573
583
  }
574
- }, _callee3, null, [[2, 32]]);
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: any;
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.8",
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.6",
60
+ "@plasmicapp/auth-api": "0.0.8",
61
61
  "@plasmicapp/isomorphic-unfetch": "1.0.3",
62
- "@plasmicapp/query": "0.1.68"
62
+ "@plasmicapp/query": "0.1.70"
63
63
  },
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
- "gitHead": "dbe6519e32e754c106a17535505bd1ae7cff082d",
67
+ "gitHead": "6e966ef24adb9af472b56a5051faf2b8e6e04f12",
68
68
  "peerDependencies": {
69
69
  "react": ">=16.8.0"
70
70
  }