diff --git a/frontend/src/lib/components/AzureOauthSettings.svelte b/frontend/src/lib/components/AzureOauthSettings.svelte
index 3c1d24c770..99f5f6ab1b 100644
--- a/frontend/src/lib/components/AzureOauthSettings.svelte
+++ b/frontend/src/lib/components/AzureOauthSettings.svelte
@@ -15,14 +15,7 @@
};
}
- let { connect_config = $bindable({
- scopes: ['offline_access'],
- auth_url: '',
- token_url: '',
- req_body_auth: true,
- extra_params: { tenant_id: '' },
- extra_params_callback: {}
- }) }: Props = $props();
+ let { connect_config = $bindable() }: Props = $props();
run(() => {
if (!connect_config) {
@@ -38,13 +31,14 @@
});
run(() => {
- if (connect_config.extra_params.tenant_id) {
+ if (connect_config?.extra_params?.tenant_id) {
connect_config.auth_url = `https://login.microsoftonline.com/${connect_config.extra_params.tenant_id}/oauth2/v2.0/authorize`
connect_config.token_url = `https://login.microsoftonline.com/${connect_config.extra_params.tenant_id}/oauth2/v2.0/token`
}
});
+{#if connect_config}
+{/if}
diff --git a/frontend/src/lib/components/CustomOauth.svelte b/frontend/src/lib/components/CustomOauth.svelte
index bbc020d794..432a02152b 100644
--- a/frontend/src/lib/components/CustomOauth.svelte
+++ b/frontend/src/lib/components/CustomOauth.svelte
@@ -6,14 +6,7 @@
import Toggle from './Toggle.svelte'
import Tooltip from './Tooltip.svelte'
- let { connect_config = $bindable({
- scopes: [],
- auth_url: '',
- token_url: '',
- req_body_auth: false,
- extra_params: {},
- extra_params_callback: {}
- }) } = $props();
+ let { connect_config = $bindable() } = $props();
run(() => {
if (!connect_config) {
diff --git a/frontend/src/lib/components/CustomSso.svelte b/frontend/src/lib/components/CustomSso.svelte
index 5c36e1c57e..4de203357a 100644
--- a/frontend/src/lib/components/CustomSso.svelte
+++ b/frontend/src/lib/components/CustomSso.svelte
@@ -6,15 +6,7 @@
import Toggle from './Toggle.svelte'
import Tooltip from './Tooltip.svelte'
- let { login_config = $bindable({
- scopes: [],
- auth_url: '',
- token_url: '',
- userinfo_url: '',
- req_body_auth: false,
- extra_params: {},
- extra_params_callback: {}
- }) } = $props();
+ let { login_config = $bindable() } = $props();
run(() => {
if (!login_config) {
diff --git a/frontend/src/lib/components/OauthExtraParams.svelte b/frontend/src/lib/components/OauthExtraParams.svelte
index eec9cd47b8..a2a5ae9749 100644
--- a/frontend/src/lib/components/OauthExtraParams.svelte
+++ b/frontend/src/lib/components/OauthExtraParams.svelte
@@ -6,9 +6,15 @@
extra_params?: Record;
}
- let { extra_params = $bindable({}) }: Props = $props();
+ let { extra_params = $bindable() }: Props = $props();
- let extra_params_vec: [string, string][] = $state(Object.entries(extra_params))
+ $effect.pre(() => {
+ if (!extra_params) {
+ extra_params = {}
+ }
+ })
+
+ let extra_params_vec: [string, string][] = $state(Object.entries(extra_params ?? {}))
function sync() {
extra_params = Object.fromEntries(extra_params_vec)
diff --git a/frontend/src/lib/components/OauthScopes.svelte b/frontend/src/lib/components/OauthScopes.svelte
index 545471d0dc..4ec17c6e2a 100644
--- a/frontend/src/lib/components/OauthScopes.svelte
+++ b/frontend/src/lib/components/OauthScopes.svelte
@@ -6,7 +6,13 @@
scopes?: string[]
}
- let { scopes = $bindable([]) }: Props = $props()
+ let { scopes = $bindable() }: Props = $props()
+
+ $effect.pre(() => {
+ if (!scopes) {
+ scopes = []
+ }
+ })
{#if scopes && Array.isArray(scopes)}
@@ -18,7 +24,7 @@
size="xs"
btnClasses="mx-6"
on:click={() => {
- scopes = scopes.filter((el) => el != v)
+ scopes = scopes?.filter((el) => el != v)
}}
startIcon={{ icon: Minus }}
iconOnly