@lvce-editor/auth-worker 3.22.1 → 3.22.2

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.
@@ -1241,14 +1241,11 @@ const createAccountSessions = storage => {
1241
1241
  };
1242
1242
  };
1243
1243
 
1244
- const state$4 = {
1245
- backendUrl: ''
1246
- };
1247
- const getAuthBackendUrl = () => {
1248
- return state$4.backendUrl;
1249
- };
1250
- const setAuthBackendUrl = backendUrl => {
1251
- state$4.backendUrl = backendUrl;
1244
+ const getAuthBackendUrl = async backendUrl => {
1245
+ if (typeof backendUrl === 'string') {
1246
+ return backendUrl;
1247
+ }
1248
+ return invoke('Layout.getBackendUrl');
1252
1249
  };
1253
1250
 
1254
1251
  const state$3 = {
@@ -3407,7 +3404,10 @@ const state = {
3407
3404
  login: undefined
3408
3405
  };
3409
3406
  const normalizeBackendUrl = backendUrl => new URL(backendUrl).origin;
3410
- const getNormalizedBackendUrl = (backendUrl = getAuthBackendUrl()) => normalizeBackendUrl(backendUrl);
3407
+ const getNormalizedBackendUrl = async backendUrl => {
3408
+ const url = await getAuthBackendUrl(backendUrl);
3409
+ return url ? normalizeBackendUrl(url) : '';
3410
+ };
3411
3411
  const addSession = async (backendUrl, session, revision) => {
3412
3412
  if (session.userState !== 'loggedIn' || !session.authAccessToken) {
3413
3413
  return;
@@ -3488,13 +3488,17 @@ const getConnectionRequestHeaders = accessToken => {
3488
3488
  };
3489
3489
  };
3490
3490
  const getConnectedAccounts = async () => {
3491
- const backendUrl = getNormalizedBackendUrl();
3491
+ const backendUrl = await getNormalizedBackendUrl();
3492
3492
  const accessToken = await getAccessToken({
3493
+ backendUrl,
3493
3494
  refresh: 'if-needed'
3494
3495
  });
3495
3496
  if (!accessToken) {
3496
3497
  return [];
3497
3498
  }
3499
+ if (backendUrl !== (await getNormalizedBackendUrl())) {
3500
+ throw new Error('Account backend changed. Retry connected accounts.');
3501
+ }
3498
3502
  const response = await fetch(getConnectedAccountsUrl(backendUrl), {
3499
3503
  headers: getConnectionRequestHeaders(accessToken)
3500
3504
  });
@@ -3508,13 +3512,17 @@ const getConnectedAccounts = async () => {
3508
3512
  return payload.connections;
3509
3513
  };
3510
3514
  const disconnectConnectedAccount = async provider => {
3511
- const backendUrl = getNormalizedBackendUrl();
3515
+ const backendUrl = await getNormalizedBackendUrl();
3512
3516
  const accessToken = await getAccessToken({
3517
+ backendUrl,
3513
3518
  refresh: 'if-needed'
3514
3519
  });
3515
3520
  if (!accessToken) {
3516
3521
  throw new Error('Sign in to disconnect connected accounts.');
3517
3522
  }
3523
+ if (backendUrl !== (await getNormalizedBackendUrl())) {
3524
+ throw new Error('Account backend changed. Retry connected accounts.');
3525
+ }
3518
3526
  const response = await fetch(getConnectedAccountDisconnectUrl(backendUrl, provider), {
3519
3527
  headers: getConnectionRequestHeaders(accessToken),
3520
3528
  method: 'POST'
@@ -3524,7 +3532,7 @@ const disconnectConnectedAccount = async provider => {
3524
3532
  }
3525
3533
  };
3526
3534
  const getAccounts = async () => {
3527
- const backendUrl = getNormalizedBackendUrl();
3535
+ const backendUrl = await getNormalizedBackendUrl();
3528
3536
  const registry = await accounts.read();
3529
3537
  return registry.accounts.filter(account => account.backendUrl === backendUrl).map(account => ({
3530
3538
  ...account.profile,
@@ -3535,7 +3543,10 @@ const getAccounts = async () => {
3535
3543
  }));
3536
3544
  };
3537
3545
  const getAccessToken = async (options = {}) => {
3538
- const backendUrl = getNormalizedBackendUrl();
3546
+ const backendUrl = await getNormalizedBackendUrl(options.backendUrl);
3547
+ if (!backendUrl) {
3548
+ return '';
3549
+ }
3539
3550
  const account = await getActive(backendUrl);
3540
3551
  if (!account) {
3541
3552
  return '';
@@ -3561,7 +3572,7 @@ const initialize = async (options = {}) => {
3561
3572
  if (typeof options.platform === 'number') {
3562
3573
  setAuthPlatform(options.platform);
3563
3574
  }
3564
- const backendUrl = getNormalizedBackendUrl(options.backendUrl ?? getAuthBackendUrl());
3575
+ const backendUrl = await getNormalizedBackendUrl(options.backendUrl);
3565
3576
  const registry = await accounts.read();
3566
3577
  const completed = await completeBrowserOidcLogin(backendUrl);
3567
3578
  if (completed) {
@@ -3570,6 +3581,7 @@ const initialize = async (options = {}) => {
3570
3581
  }
3571
3582
  try {
3572
3583
  await getAccessToken({
3584
+ backendUrl,
3573
3585
  refresh: 'if-needed'
3574
3586
  });
3575
3587
  return getCurrentState(backendUrl);
@@ -3582,7 +3594,7 @@ const login = async options => {
3582
3594
  return state.login;
3583
3595
  }
3584
3596
  const operation = (async () => {
3585
- const backendUrl = getNormalizedBackendUrl(options.backendUrl ?? getAuthBackendUrl());
3597
+ const backendUrl = await getNormalizedBackendUrl(options.backendUrl);
3586
3598
  const registry = await accounts.read();
3587
3599
  const result = await handleClickLogin({
3588
3600
  ...options,
@@ -3599,7 +3611,7 @@ const login = async options => {
3599
3611
  }
3600
3612
  };
3601
3613
  const useAccount = async id => {
3602
- const backendUrl = getNormalizedBackendUrl();
3614
+ const backendUrl = await getNormalizedBackendUrl();
3603
3615
  const registry = await accounts.read();
3604
3616
  if (registry.accounts.every(account => !(account.id === id && account.backendUrl === backendUrl))) {
3605
3617
  throw new Error('Account is no longer available.');
@@ -3608,7 +3620,7 @@ const useAccount = async id => {
3608
3620
  return getCurrentState(backendUrl);
3609
3621
  };
3610
3622
  const removeAccount = async id => {
3611
- const backendUrl = getNormalizedBackendUrl();
3623
+ const backendUrl = await getNormalizedBackendUrl();
3612
3624
  const registry = await accounts.read();
3613
3625
  if (registry.accounts.some(account => account.id === id && account.backendUrl === backendUrl)) {
3614
3626
  await accounts.remove(id);
@@ -3616,7 +3628,7 @@ const removeAccount = async id => {
3616
3628
  return getCurrentState(backendUrl);
3617
3629
  };
3618
3630
  const logout = async () => {
3619
- const backendUrl = getNormalizedBackendUrl();
3631
+ const backendUrl = await getNormalizedBackendUrl();
3620
3632
  const account = await getActive(backendUrl);
3621
3633
  return account ? removeAccount(account.id) : getLoggedOutBackendAuthState();
3622
3634
  };
@@ -3626,13 +3638,18 @@ const syncBackendAuth = async backendUrl => initialize({
3626
3638
 
3627
3639
  const identifier = /^[a-f0-9]{32}$/;
3628
3640
  const confirmationCode = /^[A-F0-9]{8}$/;
3629
- const getCloudflareConnectionsUrl = () => new URL('/cloudflare', getAuthBackendUrl()).href;
3641
+ const getCloudflareConnectionsUrl = async () => {
3642
+ const backendUrl = await getAuthBackendUrl();
3643
+ return backendUrl ? new URL('/cloudflare', backendUrl).href : '';
3644
+ };
3630
3645
  const request = async (pathname, method = 'GET', body) => {
3631
- const backendUrl = getAuthBackendUrl();
3646
+ const backendUrl = await getAuthBackendUrl();
3647
+ if (!backendUrl) throw new Error('Sign in to LVCE to manage Cloudflare connections.');
3632
3648
  const accessToken = await getAccessToken({
3649
+ backendUrl,
3633
3650
  refresh: 'if-needed'
3634
3651
  });
3635
- if (backendUrl !== getAuthBackendUrl()) throw new Error('Account backend changed. Retry Cloudflare setup.');
3652
+ if (backendUrl !== (await getAuthBackendUrl())) throw new Error('Account backend changed. Retry Cloudflare setup.');
3636
3653
  if (!accessToken) throw new Error('Sign in to LVCE to manage Cloudflare connections.');
3637
3654
  const response = await fetch(new URL(pathname, backendUrl), {
3638
3655
  headers: {
@@ -3683,7 +3700,6 @@ const initializeMainProcess = async () => {
3683
3700
  };
3684
3701
 
3685
3702
  const configure = async options => {
3686
- setAuthBackendUrl(options.backendUrl);
3687
3703
  setAuthPlatform(options.platform);
3688
3704
  setUseNativeAuth(options.useNativeAuth === true);
3689
3705
  if (options.platform === Electron) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/auth-worker",
3
- "version": "3.22.1",
3
+ "version": "3.22.2",
4
4
  "description": "Auth Worker",
5
5
  "repository": {
6
6
  "type": "git",