@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.
- package/dist/authWorkerMain.js +38 -22
- package/package.json +1 -1
package/dist/authWorkerMain.js
CHANGED
|
@@ -1241,14 +1241,11 @@ const createAccountSessions = storage => {
|
|
|
1241
1241
|
};
|
|
1242
1242
|
};
|
|
1243
1243
|
|
|
1244
|
-
const
|
|
1245
|
-
backendUrl
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
return
|
|
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 =
|
|
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
|
|
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
|
|
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 = () =>
|
|
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) {
|