mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-29 02:56:01 +00:00
error page handling fixes
This commit is contained in:
@@ -365,11 +365,13 @@ function createWindow() {
|
|||||||
console.log('Error saving config-root:', err.message);
|
console.log('Error saving config-root:', err.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// mainWindow.webContents.toggleDevTools();
|
||||||
|
|
||||||
mainWindow.loadURL(startUrl);
|
mainWindow.loadURL(startUrl);
|
||||||
if (os.platform() == 'linux') {
|
if (os.platform() == 'linux') {
|
||||||
mainWindow.setIcon(path.resolve(__dirname, '../icon.png'));
|
mainWindow.setIcon(path.resolve(__dirname, '../icon.png'));
|
||||||
}
|
}
|
||||||
// mainWindow.webContents.toggleDevTools();
|
|
||||||
|
|
||||||
mainWindow.on('maximize', () => {
|
mainWindow.on('maximize', () => {
|
||||||
mainWindow.webContents.send('setIsMaximized', true);
|
mainWindow.webContents.send('setIsMaximized', true);
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class AuthProviderBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
isUserLoggedIn(req) {
|
isUserLoggedIn(req) {
|
||||||
return !!req.user || !!req.auth;
|
return !!req?.user || !!req?.auth;
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentPermissions(req) {
|
getCurrentPermissions(req) {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
import { useConfig } from './utility/metadataLoaders';
|
import { useConfig } from './utility/metadataLoaders';
|
||||||
import ErrorInfo from './elements/ErrorInfo.svelte';
|
import ErrorInfo from './elements/ErrorInfo.svelte';
|
||||||
import Link from './elements/Link.svelte';
|
import Link from './elements/Link.svelte';
|
||||||
|
import { internalRedirectTo } from './clientAuth';
|
||||||
|
|
||||||
const config = useConfig();
|
const config = useConfig();
|
||||||
|
|
||||||
@@ -23,7 +24,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="heading">Configuration error</div>
|
<div class="heading">Configuration error</div>
|
||||||
{#if !$config?.isLicenseValid}
|
{#if $config?.isLicenseValid == false}
|
||||||
<ErrorInfo
|
<ErrorInfo
|
||||||
message={`Invalid license. Please contact sales@dbgate.eu for more details. ${$config?.licenseError}`}
|
message={`Invalid license. Please contact sales@dbgate.eu for more details. ${$config?.licenseError}`}
|
||||||
/>
|
/>
|
||||||
@@ -32,7 +33,7 @@
|
|||||||
{:else}
|
{:else}
|
||||||
<ErrorInfo message="No error found, try to open app again" />
|
<ErrorInfo message="No error found, try to open app again" />
|
||||||
<div class="m-2">
|
<div class="m-2">
|
||||||
<Link href="?">Back to app</Link>
|
<Link onClick={() => internalRedirectTo('/')}>Back to app</Link>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -106,7 +106,7 @@
|
|||||||
// }`
|
// }`
|
||||||
// );
|
// );
|
||||||
internalRedirectTo(
|
internalRedirectTo(
|
||||||
`connections/dblogin?conid=${selectedConnection?.conid}&state=${encodeURIComponent(state)}&redirectUri=${
|
`/connections/dblogin?conid=${selectedConnection?.conid}&state=${encodeURIComponent(state)}&redirectUri=${
|
||||||
location.origin + location.pathname
|
location.origin + location.pathname
|
||||||
}`
|
}`
|
||||||
);
|
);
|
||||||
@@ -130,7 +130,7 @@
|
|||||||
isTesting = false;
|
isTesting = false;
|
||||||
if (resp.accessToken) {
|
if (resp.accessToken) {
|
||||||
localStorage.setItem('accessToken', resp.accessToken);
|
localStorage.setItem('accessToken', resp.accessToken);
|
||||||
internalRedirectTo('?');
|
internalRedirectTo('/');
|
||||||
} else {
|
} else {
|
||||||
sqlConnectResult = resp;
|
sqlConnectResult = resp;
|
||||||
}
|
}
|
||||||
@@ -140,7 +140,7 @@
|
|||||||
conid: selectedConnection.conid,
|
conid: selectedConnection.conid,
|
||||||
});
|
});
|
||||||
localStorage.setItem('accessToken', resp.accessToken);
|
localStorage.setItem('accessToken', resp.accessToken);
|
||||||
internalRedirectTo('?');
|
internalRedirectTo('/');
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
});
|
});
|
||||||
if (resp.error) {
|
if (resp.error) {
|
||||||
internalRedirectTo(
|
internalRedirectTo(
|
||||||
`?page=not-logged&error=${encodeURIComponent(resp.error)}&is-admin=${isAdminPage ? 'true' : ''}`
|
`/?page=not-logged&error=${encodeURIComponent(resp.error)}&is-admin=${isAdminPage ? 'true' : ''}`
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -163,13 +163,13 @@
|
|||||||
if (accessToken) {
|
if (accessToken) {
|
||||||
localStorage.setItem(isAdminPage ? 'adminAccessToken' : 'accessToken', accessToken);
|
localStorage.setItem(isAdminPage ? 'adminAccessToken' : 'accessToken', accessToken);
|
||||||
if (isAdminPage) {
|
if (isAdminPage) {
|
||||||
internalRedirectTo('?page=admin');
|
internalRedirectTo('/?page=admin');
|
||||||
} else {
|
} else {
|
||||||
internalRedirectTo('?');
|
internalRedirectTo('/');
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
internalRedirectTo(`?page=not-logged`);
|
internalRedirectTo(`/?page=not-logged`);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@@ -50,10 +50,10 @@ export function handleOauthCallback() {
|
|||||||
if (accessToken) {
|
if (accessToken) {
|
||||||
console.log('Settings access token from OAUTH');
|
console.log('Settings access token from OAUTH');
|
||||||
localStorage.setItem('accessToken', accessToken);
|
localStorage.setItem('accessToken', accessToken);
|
||||||
internalRedirectTo('?');
|
internalRedirectTo('/');
|
||||||
} else {
|
} else {
|
||||||
console.log('Error when processing OAUTH callback', error || errorMessage);
|
console.log('Error when processing OAUTH callback', error || errorMessage);
|
||||||
internalRedirectTo(`?page=not-logged&error=${error || errorMessage}`);
|
internalRedirectTo(`/?page=not-logged&error=${error || errorMessage}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -73,9 +73,9 @@ export function handleOauthCallback() {
|
|||||||
if (authResp.success) {
|
if (authResp.success) {
|
||||||
window.close();
|
window.close();
|
||||||
} else if (authResp.error) {
|
} else if (authResp.error) {
|
||||||
internalRedirectTo(`?page=error&error=${encodeURIComponent(authResp.error)}`);
|
internalRedirectTo(`/?page=error&error=${encodeURIComponent(authResp.error)}`);
|
||||||
} else {
|
} else {
|
||||||
internalRedirectTo(`?page=error`);
|
internalRedirectTo(`/?page=error`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -93,11 +93,11 @@ export function handleOauthCallback() {
|
|||||||
}).then(authResp => {
|
}).then(authResp => {
|
||||||
if (authResp.accessToken) {
|
if (authResp.accessToken) {
|
||||||
localStorage.setItem('accessToken', authResp.accessToken);
|
localStorage.setItem('accessToken', authResp.accessToken);
|
||||||
internalRedirectTo('?');
|
internalRedirectTo('/');
|
||||||
} else if (authResp.error) {
|
} else if (authResp.error) {
|
||||||
internalRedirectTo(`?page=error&error=${encodeURIComponent(authResp.error)}`);
|
internalRedirectTo(`/?page=error&error=${encodeURIComponent(authResp.error)}`);
|
||||||
} else {
|
} else {
|
||||||
internalRedirectTo(`?page=error`);
|
internalRedirectTo(`/?page=error`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ export function handleOauthCallback() {
|
|||||||
|
|
||||||
export async function handleAuthOnStartup(config, isAdminPage = false) {
|
export async function handleAuthOnStartup(config, isAdminPage = false) {
|
||||||
if (!config.isLicenseValid) {
|
if (!config.isLicenseValid) {
|
||||||
internalRedirectTo(`?page=error`);
|
internalRedirectTo(`/?page=error`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ export async function handleAuthOnStartup(config, isAdminPage = false) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function redirectToAdminLogin() {
|
export async function redirectToAdminLogin() {
|
||||||
internalRedirectTo('?page=admin-login');
|
internalRedirectTo('/?page=admin-login');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@ export async function redirectToLogin(config = null, force = false) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
internalRedirectTo('?page=login');
|
internalRedirectTo('/?page=login');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,14 +184,14 @@ export async function doLogout() {
|
|||||||
if (config.oauthLogout) {
|
if (config.oauthLogout) {
|
||||||
window.location.href = config.oauthLogout;
|
window.location.href = config.oauthLogout;
|
||||||
} else {
|
} else {
|
||||||
internalRedirectTo('?page=not-logged');
|
internalRedirectTo('/?page=not-logged');
|
||||||
}
|
}
|
||||||
} else if (config.isLoginForm) {
|
} else if (config.isLoginForm) {
|
||||||
localStorage.removeItem(isAdminPage() ? 'adminAccessToken' : 'accessToken');
|
localStorage.removeItem(isAdminPage() ? 'adminAccessToken' : 'accessToken');
|
||||||
internalRedirectTo(`?page=not-logged&is-admin=${isAdminPage() ? 'true' : ''}`);
|
internalRedirectTo(`/?page=not-logged&is-admin=${isAdminPage() ? 'true' : ''}`);
|
||||||
} else if (config.isAdminLoginForm && isAdminPage()) {
|
} else if (config.isAdminLoginForm && isAdminPage()) {
|
||||||
localStorage.removeItem('adminAccessToken');
|
localStorage.removeItem('adminAccessToken');
|
||||||
internalRedirectTo('?page=admin-login&is-admin=true');
|
internalRedirectTo('/?page=admin-login&is-admin=true');
|
||||||
} else {
|
} else {
|
||||||
window.location.href = 'config/logout';
|
window.location.href = 'config/logout';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,13 +8,14 @@ import LoginPage from './LoginPage.svelte';
|
|||||||
import NotLoggedPage from './NotLoggedPage.svelte';
|
import NotLoggedPage from './NotLoggedPage.svelte';
|
||||||
import ErrorPage from './ErrorPage.svelte';
|
import ErrorPage from './ErrorPage.svelte';
|
||||||
|
|
||||||
const isOauthCallback = handleOauthCallback();
|
|
||||||
|
|
||||||
const params = new URLSearchParams(location.search);
|
const params = new URLSearchParams(location.search);
|
||||||
const page = params.get('page');
|
const page = params.get('page');
|
||||||
|
|
||||||
|
const isOauthCallback = handleOauthCallback();
|
||||||
|
|
||||||
localStorageGarbageCollector();
|
localStorageGarbageCollector();
|
||||||
|
|
||||||
|
|
||||||
function createApp() {
|
function createApp() {
|
||||||
if (isOauthCallback) {
|
if (isOauthCallback) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import { batchDispatchCacheTriggers, dispatchCacheChange } from './cache';
|
|||||||
export const strmid = uuidv1();
|
export const strmid = uuidv1();
|
||||||
|
|
||||||
let eventSource;
|
let eventSource;
|
||||||
let apiLogging = false;
|
let apiLogging = true;
|
||||||
// let cacheCleanerRegistered;
|
// let cacheCleanerRegistered;
|
||||||
let apiDisabled = false;
|
let apiDisabled = false;
|
||||||
const disabledOnOauth = isOauthCallback();
|
const disabledOnOauth = isOauthCallback();
|
||||||
|
|||||||
Reference in New Issue
Block a user