From 01a08a0a778a48ec52c4bf6a04457ccaaed8620c Mon Sep 17 00:00:00 2001 From: Amir Zarrinkafsh Date: Sun, 10 Dec 2023 00:50:29 +1100 Subject: [PATCH] feat: add authelia sso support (#2824) This change adds the ability to integrate Windmill with Authelia via OIDC. --- .../src/lib/components/AutheliaSetting.svelte | 64 +++++++++++++++++++ .../lib/components/InstanceSettings.svelte | 6 +- .../lib/components/icons/AutheliaIcon.svelte | 32 ++++++++++ frontend/src/lib/components/icons/index.ts | 7 +- 4 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 frontend/src/lib/components/AutheliaSetting.svelte create mode 100644 frontend/src/lib/components/icons/AutheliaIcon.svelte diff --git a/frontend/src/lib/components/AutheliaSetting.svelte b/frontend/src/lib/components/AutheliaSetting.svelte new file mode 100644 index 0000000000..48d2a08d64 --- /dev/null +++ b/frontend/src/lib/components/AutheliaSetting.svelte @@ -0,0 +1,64 @@ + + +
+ + {#if enabled} +
+ + + +
+ {/if} +
diff --git a/frontend/src/lib/components/InstanceSettings.svelte b/frontend/src/lib/components/InstanceSettings.svelte index 0c6a24b6a3..5e19c3d310 100644 --- a/frontend/src/lib/components/InstanceSettings.svelte +++ b/frontend/src/lib/components/InstanceSettings.svelte @@ -19,6 +19,7 @@ import { AlertTriangle, Plus } from 'lucide-svelte' import CustomSso from './CustomSso.svelte' import AuthentikSetting from '$lib/components/AuthentikSetting.svelte' + import AutheliaSetting from '$lib/components/AutheliaSetting.svelte' export let tab: string = 'Core' export let hideTabs: boolean = false @@ -217,8 +218,9 @@ + {#each Object.keys(oauths) as k} - {#if !['authentik', 'google', 'microsoft', 'github', 'gitlab', 'jumpcloud', 'okta', 'keycloak', 'slack'].includes(k) && 'login_config' in oauths[k]} + {#if !['authelia', 'authentik', 'google', 'microsoft', 'github', 'gitlab', 'jumpcloud', 'okta', 'keycloak', 'slack'].includes(k) && 'login_config' in oauths[k]} {#if oauths[k]}
@@ -283,7 +285,7 @@
{#each Object.keys(oauths) as k} - {#if !['authentik', 'google', 'microsoft', 'github', 'gitlab', 'jumpcloud', 'okta', 'keycloak', 'slack'].includes(k) && !('login_config' in oauths[k])} + {#if !['authelia', 'authentik', 'google', 'microsoft', 'github', 'gitlab', 'jumpcloud', 'okta', 'keycloak', 'slack'].includes(k) && !('login_config' in oauths[k])} {#if oauths[k]}
diff --git a/frontend/src/lib/components/icons/AutheliaIcon.svelte b/frontend/src/lib/components/icons/AutheliaIcon.svelte new file mode 100644 index 0000000000..037844b4d3 --- /dev/null +++ b/frontend/src/lib/components/icons/AutheliaIcon.svelte @@ -0,0 +1,32 @@ + + authelia-svg + + + + + + + + diff --git a/frontend/src/lib/components/icons/index.ts b/frontend/src/lib/components/icons/index.ts index bee278a9d4..d36451f9b0 100644 --- a/frontend/src/lib/components/icons/index.ts +++ b/frontend/src/lib/components/icons/index.ts @@ -67,6 +67,7 @@ import AzureIcon from './AzureIcon.svelte' import OktaIcon from './OktaIcon.svelte' import MsSqlServerIcon from './MSSqlServerIcon.svelte' import AuthentikIcon from './AuthentikIcon.svelte'; +import AutheliaIcon from './AutheliaIcon.svelte'; export const APP_TO_ICON_COMPONENT = { postgresql: PostgresIcon, @@ -140,7 +141,8 @@ export const APP_TO_ICON_COMPONENT = { nocodb: NocoDbIcon, azure: AzureIcon, okta: OktaIcon, - authentik: AuthentikIcon + authentik: AuthentikIcon, + authelia: AutheliaIcon } as const export { @@ -207,5 +209,6 @@ export { AzureIcon, MicrosoftIcon, OktaIcon, - AuthentikIcon + AuthentikIcon, + AutheliaIcon }