diff --git a/packages/api/src/controllers/auth.js b/packages/api/src/controllers/auth.js index 29d93147a..53facc759 100644 --- a/packages/api/src/controllers/auth.js +++ b/packages/api/src/controllers/auth.js @@ -21,7 +21,13 @@ function unauthorizedResponse(req, res, text) { } function authMiddleware(req, res, next) { - const SKIP_AUTH_PATHS = ['/config/get', '/auth/oauth-token', '/auth/login', '/stream']; + const SKIP_AUTH_PATHS = [ + '/config/get', + '/auth/oauth-token', + '/auth/login', + '/stream', + 'storage/get-connections-for-login-page', + ]; // console.log('********************* getAuthProvider()', getAuthProvider()); diff --git a/packages/web/src/LoginPage.svelte b/packages/web/src/LoginPage.svelte index 7f32ceaec..7a29626e3 100644 --- a/packages/web/src/LoginPage.svelte +++ b/packages/web/src/LoginPage.svelte @@ -9,14 +9,32 @@ import { apiCall, enableApi } from './utility/api'; import { useConfig } from './utility/metadataLoaders'; import ErrorInfo from './elements/ErrorInfo.svelte'; + import FormSelectField from './forms/FormSelectField.svelte'; + import { writable } from 'svelte/store'; + import FormProviderCore from './forms/FormProviderCore.svelte'; export let isAdminPage; const config = useConfig(); + let availableConnections = null; + + const values = writable({}); + + async function loadAvailableServers() { + availableConnections = await apiCall('storage/get-connections-for-login-page'); + if (availableConnections?.length > 0) { + values.set({ databaseServer: availableConnections[0].id }); + } + } + onMount(() => { const removed = document.getElementById('starting_dbgate_zero'); if (removed) removed.remove(); + + if (!isAdminPage) { + loadAvailableServers(); + } }); @@ -28,7 +46,16 @@