@plasmicapp/auth-react 0.0.8 → 0.0.10

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,7 +337,6 @@ function _asyncToGenerator(fn) {
337
337
  };
338
338
  }
339
339
 
340
- var _handleCallback, _checkAlreadyLoggedUser;
341
340
  var STORAGE_USER_KEY = 'plasmic_user';
342
341
  var isBrowser = typeof window !== 'undefined';
343
342
  function getCallbackParams() {
@@ -376,10 +375,13 @@ function isContinueToSameLocation(continueTo) {
376
375
  return continueTo === pathname || continueTo === origin + pathname;
377
376
  }
378
377
  function handleCallback(_x) {
379
- return (_handleCallback = _handleCallback || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(opts) {
378
+ return _handleCallback.apply(this, arguments);
379
+ }
380
+ function _handleCallback() {
381
+ _handleCallback = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opts) {
380
382
  var host, appId, code, state, codeVerifier, continueTo, parsedState, result;
381
- return _regeneratorRuntime().wrap(function _callee$(_context) {
382
- while (1) switch (_context.prev = _context.next) {
383
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
384
+ while (1) switch (_context2.prev = _context2.next) {
383
385
  case 0:
384
386
  host = opts.host, appId = opts.appId, code = opts.code, state = opts.state, codeVerifier = opts.codeVerifier;
385
387
  continueTo = '/';
@@ -391,7 +393,7 @@ function handleCallback(_x) {
391
393
  } catch (err) {
392
394
  console.error("Error while parsing state: " + err);
393
395
  }
394
- _context.next = 5;
396
+ _context2.next = 5;
395
397
  return authApi.getPlasmicAppUser({
396
398
  host: host,
397
399
  appId: appId,
@@ -399,13 +401,13 @@ function handleCallback(_x) {
399
401
  codeVerifier: codeVerifier
400
402
  });
401
403
  case 5:
402
- result = _context.sent;
404
+ result = _context2.sent;
403
405
  if (!result.error) {
404
- _context.next = 9;
406
+ _context2.next = 9;
405
407
  break;
406
408
  }
407
409
  console.log("Error while performing code exchange: " + result.error);
408
- return _context.abrupt("return", undefined);
410
+ return _context2.abrupt("return", undefined);
409
411
  case 9:
410
412
  localStorage.setItem(STORAGE_USER_KEY, result.token);
411
413
  if (!isContinueToSameLocation(continueTo)) {
@@ -413,121 +415,126 @@ function handleCallback(_x) {
413
415
  } else {
414
416
  removeCallbackParams();
415
417
  }
416
- return _context.abrupt("return", {
418
+ return _context2.abrupt("return", {
417
419
  token: result.token,
418
420
  user: result.user
419
421
  });
420
422
  case 12:
421
423
  case "end":
422
- return _context.stop();
424
+ return _context2.stop();
423
425
  }
424
- }, _callee);
425
- }))).apply(this, arguments);
426
+ }, _callee2);
427
+ }));
428
+ return _handleCallback.apply(this, arguments);
426
429
  }
427
430
  function checkAlreadyLoggedUser(_x2) {
428
- return (_checkAlreadyLoggedUser = _checkAlreadyLoggedUser || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opts) {
431
+ return _checkAlreadyLoggedUser.apply(this, arguments);
432
+ }
433
+ /**
434
+ * Handles the authentication flow for Plasmic Auth and returns the user and token
435
+ */
436
+ function _checkAlreadyLoggedUser() {
437
+ _checkAlreadyLoggedUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(opts) {
429
438
  var host, token, _yield$getPlasmicAppU, user, error;
430
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
431
- while (1) switch (_context2.prev = _context2.next) {
439
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
440
+ while (1) switch (_context3.prev = _context3.next) {
432
441
  case 0:
433
442
  host = opts.host;
434
443
  token = localStorage.getItem(STORAGE_USER_KEY);
435
444
  if (token) {
436
- _context2.next = 4;
445
+ _context3.next = 4;
437
446
  break;
438
447
  }
439
- return _context2.abrupt("return", {
448
+ return _context3.abrupt("return", {
440
449
  user: null,
441
450
  token: null
442
451
  });
443
452
  case 4:
444
- _context2.next = 6;
453
+ _context3.next = 6;
445
454
  return authApi.getPlasmicAppUserFromToken({
446
455
  host: host,
447
456
  token: token
448
457
  });
449
458
  case 6:
450
- _yield$getPlasmicAppU = _context2.sent;
459
+ _yield$getPlasmicAppU = _context3.sent;
451
460
  user = _yield$getPlasmicAppU.user;
452
461
  error = _yield$getPlasmicAppU.error;
453
462
  if (!error) {
454
- _context2.next = 13;
463
+ _context3.next = 13;
455
464
  break;
456
465
  }
457
466
  // If there is an error, we just remove the token
458
467
  // But ideally we should check if the reason is token expired
459
468
  localStorage.removeItem(STORAGE_USER_KEY);
460
469
  console.log("Error while checking logged user");
461
- return _context2.abrupt("return", {
470
+ return _context3.abrupt("return", {
462
471
  user: null,
463
472
  token: null
464
473
  });
465
474
  case 13:
466
- return _context2.abrupt("return", {
475
+ return _context3.abrupt("return", {
467
476
  user: user,
468
477
  token: token
469
478
  });
470
479
  case 14:
471
480
  case "end":
472
- return _context2.stop();
481
+ return _context3.stop();
473
482
  }
474
- }, _callee2);
475
- }))).apply(this, arguments);
483
+ }, _callee3);
484
+ }));
485
+ return _checkAlreadyLoggedUser.apply(this, arguments);
476
486
  }
477
- /**
478
- * Handles the authentication flow for Plasmic Auth and returns the user and token
479
- */
480
487
  function usePlasmicAuth(opts) {
481
488
  var host = opts.host,
482
489
  appId = opts.appId;
483
490
  var authKey = "$csq$plasmic-auth-" + appId;
484
- var _useMutablePlasmicQue = query.useMutablePlasmicQueryData(authKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
491
+ var _useMutablePlasmicQue = query.useMutablePlasmicQueryData(authKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
485
492
  var callbackParams, codeVerifier, result;
486
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
487
- while (1) switch (_context3.prev = _context3.next) {
493
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
494
+ while (1) switch (_context.prev = _context.next) {
488
495
  case 0:
489
496
  if (!(!appId || !isBrowser)) {
490
- _context3.next = 2;
497
+ _context.next = 2;
491
498
  break;
492
499
  }
493
- return _context3.abrupt("return", {
500
+ return _context.abrupt("return", {
494
501
  user: null,
495
502
  token: null
496
503
  });
497
504
  case 2:
498
- _context3.prev = 2;
505
+ _context.prev = 2;
499
506
  // We first check if we are currently in the callback flow
500
507
  callbackParams = getCallbackParams();
501
508
  if (!(callbackParams.isCallbackError || callbackParams.isCodeExchange)) {
502
- _context3.next = 27;
509
+ _context.next = 27;
503
510
  break;
504
511
  }
505
512
  if (!callbackParams.isCallbackError) {
506
- _context3.next = 11;
513
+ _context.next = 11;
507
514
  break;
508
515
  }
509
516
  // If there is an error, we just remove the callback params
510
517
  removeCallbackParams();
511
518
  console.error("Error: " + callbackParams.error);
512
- return _context3.abrupt("return", {
519
+ return _context.abrupt("return", {
513
520
  user: null,
514
521
  token: null
515
522
  });
516
523
  case 11:
517
524
  codeVerifier = getCodeVerifier();
518
525
  if (codeVerifier) {
519
- _context3.next = 18;
526
+ _context.next = 18;
520
527
  break;
521
528
  }
522
529
  // If there is no codeVerifier, we just remove the callback params
523
530
  removeCallbackParams();
524
531
  console.error('No code verifier found');
525
- return _context3.abrupt("return", {
532
+ return _context.abrupt("return", {
526
533
  user: null,
527
534
  token: null
528
535
  });
529
536
  case 18:
530
- _context3.next = 20;
537
+ _context.next = 20;
531
538
  return handleCallback({
532
539
  host: host,
533
540
  appId: appId,
@@ -536,45 +543,45 @@ function usePlasmicAuth(opts) {
536
543
  codeVerifier: codeVerifier
537
544
  });
538
545
  case 20:
539
- result = _context3.sent;
546
+ result = _context.sent;
540
547
  if (result) {
541
- _context3.next = 24;
548
+ _context.next = 24;
542
549
  break;
543
550
  }
544
551
  removeCallbackParams();
545
- return _context3.abrupt("return", {
552
+ return _context.abrupt("return", {
546
553
  user: null,
547
554
  token: null
548
555
  });
549
556
  case 24:
550
- return _context3.abrupt("return", result);
557
+ return _context.abrupt("return", result);
551
558
  case 25:
552
- _context3.next = 30;
559
+ _context.next = 30;
553
560
  break;
554
561
  case 27:
555
- _context3.next = 29;
562
+ _context.next = 29;
556
563
  return checkAlreadyLoggedUser({
557
564
  host: host
558
565
  });
559
566
  case 29:
560
- return _context3.abrupt("return", _context3.sent);
567
+ return _context.abrupt("return", _context.sent);
561
568
  case 30:
562
- _context3.next = 35;
569
+ _context.next = 35;
563
570
  break;
564
571
  case 32:
565
- _context3.prev = 32;
566
- _context3.t0 = _context3["catch"](2);
567
- 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);
568
575
  case 35:
569
- return _context3.abrupt("return", {
576
+ return _context.abrupt("return", {
570
577
  user: null,
571
578
  token: null
572
579
  });
573
580
  case 36:
574
581
  case "end":
575
- return _context3.stop();
582
+ return _context.stop();
576
583
  }
577
- }, _callee3, null, [[2, 32]]);
584
+ }, _callee, null, [[2, 32]]);
578
585
  }))),
579
586
  userData = _useMutablePlasmicQue.data,
580
587
  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} 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","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","opts","host","appId","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 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!==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 _(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 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 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(_.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)&&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),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 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="undefined"!=typeof window;function i(){try{return localStorage.getItem("code_verifier")}catch(t){return null}}function u(){try{window.history.replaceState({},"",location.pathname)}catch(t){console.error("Error while removing callback params: "+t)}}function c(t){var r=window.location.pathname,e=window.location.origin;return t===r||t===e+r}function s(t){return l.apply(this,arguments)}function l(){return(l=o(e().mark((function r(n){var o,a,i,s,l,f,h,p;return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:o=n.host,a=n.appId,i=n.code,s=n.state,l=n.codeVerifier,f="/";try{s&&(h=JSON.parse(s),f=h.continueTo)}catch(t){console.error("Error while parsing state: "+t)}return r.next=5,t.getPlasmicAppUser({host:o,appId:a,code:i,codeVerifier:l});case 5:if(!(p=r.sent).error){r.next=9;break}return console.log("Error while performing code exchange: "+p.error),r.abrupt("return",void 0);case 9:return localStorage.setItem("plasmic_user",p.token),c(f)?u():window.location.assign(f),r.abrupt("return",{token:p.token,user:p.user});case 12:case"end":return r.stop()}}),r)})))).apply(this,arguments)}function f(t){return h.apply(this,arguments)}function h(){return(h=o(e().mark((function r(n){var o,a,i,u;return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(o=n.host,a=localStorage.getItem("plasmic_user")){r.next=4;break}return r.abrupt("return",{user:null,token:null});case 4:return r.next=6,t.getPlasmicAppUserFromToken({host:o,token:a});case 6:if(u=(i=r.sent).user,!i.error){r.next=13;break}return localStorage.removeItem("plasmic_user"),console.log("Error while checking logged user"),r.abrupt("return",{user:null,token:null});case 13:return r.abrupt("return",{user:u,token:a});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,c=t.appId,l=r.useMutablePlasmicQueryData("$csq$plasmic-auth-"+c,o(e().mark((function t(){var r,o,l;return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(c&&a){t.next=2;break}return t.abrupt("return",{user:null,token:null});case 2:if(t.prev=2,e=void 0,h=(e=new URLSearchParams(window.location.search)).get("error"),p=e.get("code"),d=e.get("state"),!(r={isCallbackError:!!h,isCodeExchange:!!p&&!!d,error:h,code:p,state:d}).isCallbackError&&!r.isCodeExchange){t.next=27;break}if(!r.isCallbackError){t.next=11;break}return u(),console.error("Error: "+r.error),t.abrupt("return",{user:null,token:null});case 11:if(o=i()){t.next=18;break}return u(),console.error("No code verifier found"),t.abrupt("return",{user:null,token:null});case 18:return t.next=20,s({host:n,appId:c,code:r.code,state:r.state,codeVerifier:o});case 20:if(l=t.sent){t.next=24;break}return u(),t.abrupt("return",{user:null,token:null});case 24:return t.abrupt("return",l);case 25:t.next=30;break;case 27:return t.next=29,f({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,h,p,d}),t,null,[[2,32]])})))),h=l.data;return{user:null==h?void 0:h.user,token:null==h?void 0:h.token,isUserLoading:l.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} 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","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","opts","host","appId","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,7 +334,6 @@ function _asyncToGenerator(fn) {
334
334
  };
335
335
  }
336
336
 
337
- var _handleCallback, _checkAlreadyLoggedUser;
338
337
  var STORAGE_USER_KEY = 'plasmic_user';
339
338
  var isBrowser = typeof window !== 'undefined';
340
339
  function getCallbackParams() {
@@ -373,10 +372,13 @@ function isContinueToSameLocation(continueTo) {
373
372
  return continueTo === pathname || continueTo === origin + pathname;
374
373
  }
375
374
  function handleCallback(_x) {
376
- return (_handleCallback = _handleCallback || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(opts) {
375
+ return _handleCallback.apply(this, arguments);
376
+ }
377
+ function _handleCallback() {
378
+ _handleCallback = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opts) {
377
379
  var host, appId, code, state, codeVerifier, continueTo, parsedState, result;
378
- return _regeneratorRuntime().wrap(function _callee$(_context) {
379
- while (1) switch (_context.prev = _context.next) {
380
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
381
+ while (1) switch (_context2.prev = _context2.next) {
380
382
  case 0:
381
383
  host = opts.host, appId = opts.appId, code = opts.code, state = opts.state, codeVerifier = opts.codeVerifier;
382
384
  continueTo = '/';
@@ -388,7 +390,7 @@ function handleCallback(_x) {
388
390
  } catch (err) {
389
391
  console.error("Error while parsing state: " + err);
390
392
  }
391
- _context.next = 5;
393
+ _context2.next = 5;
392
394
  return getPlasmicAppUser({
393
395
  host: host,
394
396
  appId: appId,
@@ -396,13 +398,13 @@ function handleCallback(_x) {
396
398
  codeVerifier: codeVerifier
397
399
  });
398
400
  case 5:
399
- result = _context.sent;
401
+ result = _context2.sent;
400
402
  if (!result.error) {
401
- _context.next = 9;
403
+ _context2.next = 9;
402
404
  break;
403
405
  }
404
406
  console.log("Error while performing code exchange: " + result.error);
405
- return _context.abrupt("return", undefined);
407
+ return _context2.abrupt("return", undefined);
406
408
  case 9:
407
409
  localStorage.setItem(STORAGE_USER_KEY, result.token);
408
410
  if (!isContinueToSameLocation(continueTo)) {
@@ -410,121 +412,126 @@ function handleCallback(_x) {
410
412
  } else {
411
413
  removeCallbackParams();
412
414
  }
413
- return _context.abrupt("return", {
415
+ return _context2.abrupt("return", {
414
416
  token: result.token,
415
417
  user: result.user
416
418
  });
417
419
  case 12:
418
420
  case "end":
419
- return _context.stop();
421
+ return _context2.stop();
420
422
  }
421
- }, _callee);
422
- }))).apply(this, arguments);
423
+ }, _callee2);
424
+ }));
425
+ return _handleCallback.apply(this, arguments);
423
426
  }
424
427
  function checkAlreadyLoggedUser(_x2) {
425
- return (_checkAlreadyLoggedUser = _checkAlreadyLoggedUser || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opts) {
428
+ return _checkAlreadyLoggedUser.apply(this, arguments);
429
+ }
430
+ /**
431
+ * Handles the authentication flow for Plasmic Auth and returns the user and token
432
+ */
433
+ function _checkAlreadyLoggedUser() {
434
+ _checkAlreadyLoggedUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(opts) {
426
435
  var host, token, _yield$getPlasmicAppU, user, error;
427
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
428
- while (1) switch (_context2.prev = _context2.next) {
436
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
437
+ while (1) switch (_context3.prev = _context3.next) {
429
438
  case 0:
430
439
  host = opts.host;
431
440
  token = localStorage.getItem(STORAGE_USER_KEY);
432
441
  if (token) {
433
- _context2.next = 4;
442
+ _context3.next = 4;
434
443
  break;
435
444
  }
436
- return _context2.abrupt("return", {
445
+ return _context3.abrupt("return", {
437
446
  user: null,
438
447
  token: null
439
448
  });
440
449
  case 4:
441
- _context2.next = 6;
450
+ _context3.next = 6;
442
451
  return getPlasmicAppUserFromToken({
443
452
  host: host,
444
453
  token: token
445
454
  });
446
455
  case 6:
447
- _yield$getPlasmicAppU = _context2.sent;
456
+ _yield$getPlasmicAppU = _context3.sent;
448
457
  user = _yield$getPlasmicAppU.user;
449
458
  error = _yield$getPlasmicAppU.error;
450
459
  if (!error) {
451
- _context2.next = 13;
460
+ _context3.next = 13;
452
461
  break;
453
462
  }
454
463
  // If there is an error, we just remove the token
455
464
  // But ideally we should check if the reason is token expired
456
465
  localStorage.removeItem(STORAGE_USER_KEY);
457
466
  console.log("Error while checking logged user");
458
- return _context2.abrupt("return", {
467
+ return _context3.abrupt("return", {
459
468
  user: null,
460
469
  token: null
461
470
  });
462
471
  case 13:
463
- return _context2.abrupt("return", {
472
+ return _context3.abrupt("return", {
464
473
  user: user,
465
474
  token: token
466
475
  });
467
476
  case 14:
468
477
  case "end":
469
- return _context2.stop();
478
+ return _context3.stop();
470
479
  }
471
- }, _callee2);
472
- }))).apply(this, arguments);
480
+ }, _callee3);
481
+ }));
482
+ return _checkAlreadyLoggedUser.apply(this, arguments);
473
483
  }
474
- /**
475
- * Handles the authentication flow for Plasmic Auth and returns the user and token
476
- */
477
484
  function usePlasmicAuth(opts) {
478
485
  var host = opts.host,
479
486
  appId = opts.appId;
480
487
  var authKey = "$csq$plasmic-auth-" + appId;
481
- var _useMutablePlasmicQue = useMutablePlasmicQueryData(authKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
488
+ var _useMutablePlasmicQue = useMutablePlasmicQueryData(authKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
482
489
  var callbackParams, codeVerifier, result;
483
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
484
- while (1) switch (_context3.prev = _context3.next) {
490
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
491
+ while (1) switch (_context.prev = _context.next) {
485
492
  case 0:
486
493
  if (!(!appId || !isBrowser)) {
487
- _context3.next = 2;
494
+ _context.next = 2;
488
495
  break;
489
496
  }
490
- return _context3.abrupt("return", {
497
+ return _context.abrupt("return", {
491
498
  user: null,
492
499
  token: null
493
500
  });
494
501
  case 2:
495
- _context3.prev = 2;
502
+ _context.prev = 2;
496
503
  // We first check if we are currently in the callback flow
497
504
  callbackParams = getCallbackParams();
498
505
  if (!(callbackParams.isCallbackError || callbackParams.isCodeExchange)) {
499
- _context3.next = 27;
506
+ _context.next = 27;
500
507
  break;
501
508
  }
502
509
  if (!callbackParams.isCallbackError) {
503
- _context3.next = 11;
510
+ _context.next = 11;
504
511
  break;
505
512
  }
506
513
  // If there is an error, we just remove the callback params
507
514
  removeCallbackParams();
508
515
  console.error("Error: " + callbackParams.error);
509
- return _context3.abrupt("return", {
516
+ return _context.abrupt("return", {
510
517
  user: null,
511
518
  token: null
512
519
  });
513
520
  case 11:
514
521
  codeVerifier = getCodeVerifier();
515
522
  if (codeVerifier) {
516
- _context3.next = 18;
523
+ _context.next = 18;
517
524
  break;
518
525
  }
519
526
  // If there is no codeVerifier, we just remove the callback params
520
527
  removeCallbackParams();
521
528
  console.error('No code verifier found');
522
- return _context3.abrupt("return", {
529
+ return _context.abrupt("return", {
523
530
  user: null,
524
531
  token: null
525
532
  });
526
533
  case 18:
527
- _context3.next = 20;
534
+ _context.next = 20;
528
535
  return handleCallback({
529
536
  host: host,
530
537
  appId: appId,
@@ -533,45 +540,45 @@ function usePlasmicAuth(opts) {
533
540
  codeVerifier: codeVerifier
534
541
  });
535
542
  case 20:
536
- result = _context3.sent;
543
+ result = _context.sent;
537
544
  if (result) {
538
- _context3.next = 24;
545
+ _context.next = 24;
539
546
  break;
540
547
  }
541
548
  removeCallbackParams();
542
- return _context3.abrupt("return", {
549
+ return _context.abrupt("return", {
543
550
  user: null,
544
551
  token: null
545
552
  });
546
553
  case 24:
547
- return _context3.abrupt("return", result);
554
+ return _context.abrupt("return", result);
548
555
  case 25:
549
- _context3.next = 30;
556
+ _context.next = 30;
550
557
  break;
551
558
  case 27:
552
- _context3.next = 29;
559
+ _context.next = 29;
553
560
  return checkAlreadyLoggedUser({
554
561
  host: host
555
562
  });
556
563
  case 29:
557
- return _context3.abrupt("return", _context3.sent);
564
+ return _context.abrupt("return", _context.sent);
558
565
  case 30:
559
- _context3.next = 35;
566
+ _context.next = 35;
560
567
  break;
561
568
  case 32:
562
- _context3.prev = 32;
563
- _context3.t0 = _context3["catch"](2);
564
- console.error("Error while handling auth: " + _context3.t0);
569
+ _context.prev = 32;
570
+ _context.t0 = _context["catch"](2);
571
+ console.error("Error while handling auth: " + _context.t0);
565
572
  case 35:
566
- return _context3.abrupt("return", {
573
+ return _context.abrupt("return", {
567
574
  user: null,
568
575
  token: null
569
576
  });
570
577
  case 36:
571
578
  case "end":
572
- return _context3.stop();
579
+ return _context.stop();
573
580
  }
574
- }, _callee3, null, [[2, 32]]);
581
+ }, _callee, null, [[2, 32]]);
575
582
  }))),
576
583
  userData = _useMutablePlasmicQue.data,
577
584
  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} 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","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","opts","host","appId","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/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.8",
2
+ "version": "0.0.10",
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": "388b5829f67de3782fe8afdad0d153b5c6d0aac0",
68
68
  "peerDependencies": {
69
69
  "react": ">=16.8.0"
70
70
  }