From 369f0060ec974b1fbcd903337072094c5abe98e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Skyler=20M=C3=A4ntysaari?= Date: Mon, 13 Nov 2023 00:48:51 +0200 Subject: [PATCH] feat: Add Authentik SSO support (#2614) * feat: Add Authentik SSO support * Add AuthentikIcon too. * Forgot one check further down. --- .../lib/components/AuthentikSetting.svelte | 64 +++++++++++++++++++ .../lib/components/InstanceSettings.svelte | 6 +- .../lib/components/icons/AuthentikIcon.svelte | 27 ++++++++ frontend/src/lib/components/icons/index.ts | 7 +- 4 files changed, 100 insertions(+), 4 deletions(-) create mode 100644 frontend/src/lib/components/AuthentikSetting.svelte create mode 100644 frontend/src/lib/components/icons/AuthentikIcon.svelte diff --git a/frontend/src/lib/components/AuthentikSetting.svelte b/frontend/src/lib/components/AuthentikSetting.svelte new file mode 100644 index 0000000000..b5059c5677 --- /dev/null +++ b/frontend/src/lib/components/AuthentikSetting.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 ad4fcdff7e..c8d8f2a83a 100644 --- a/frontend/src/lib/components/InstanceSettings.svelte +++ b/frontend/src/lib/components/InstanceSettings.svelte @@ -18,6 +18,7 @@ import CustomOauth from './CustomOauth.svelte' import { AlertTriangle, Plus } from 'lucide-svelte' import CustomSso from './CustomSso.svelte' + import AuthentikSetting from "$lib/components/AuthentikSetting.svelte"; export let tab: string = 'Core' export let hideTabs: boolean = false @@ -213,8 +214,9 @@ + {#each Object.keys(oauths) as k} - {#if !['google', 'microsoft', 'github', 'gitlab', 'jumpcloud', 'okta', 'keycloak', 'slack'].includes(k) && 'login_config' in oauths[k]} + {#if !['authentik','google', 'microsoft', 'github', 'gitlab', 'jumpcloud', 'okta', 'keycloak', 'slack'].includes(k) && 'login_config' in oauths[k]} {#if oauths[k]}
@@ -279,7 +281,7 @@
{#each Object.keys(oauths) as k} - {#if !['google', 'microsoft', 'github', 'gitlab', 'jumpcloud', 'okta', 'keycloak', 'slack'].includes(k) && !('login_config' in oauths[k])} + {#if !['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/AuthentikIcon.svelte b/frontend/src/lib/components/icons/AuthentikIcon.svelte new file mode 100644 index 0000000000..ee52fba6af --- /dev/null +++ b/frontend/src/lib/components/icons/AuthentikIcon.svelte @@ -0,0 +1,27 @@ + + authentik-svg + + + + + + + + + + + + + + + + diff --git a/frontend/src/lib/components/icons/index.ts b/frontend/src/lib/components/icons/index.ts index 1f62901e1c..bee278a9d4 100644 --- a/frontend/src/lib/components/icons/index.ts +++ b/frontend/src/lib/components/icons/index.ts @@ -66,6 +66,7 @@ import NocoDbIcon from './NocoDbIcon.svelte' import AzureIcon from './AzureIcon.svelte' import OktaIcon from './OktaIcon.svelte' import MsSqlServerIcon from './MSSqlServerIcon.svelte' +import AuthentikIcon from './AuthentikIcon.svelte'; export const APP_TO_ICON_COMPONENT = { postgresql: PostgresIcon, @@ -138,7 +139,8 @@ export const APP_TO_ICON_COMPONENT = { graphql: GraphqlIcon, nocodb: NocoDbIcon, azure: AzureIcon, - okta: OktaIcon + okta: OktaIcon, + authentik: AuthentikIcon } as const export { @@ -204,5 +206,6 @@ export { NocoDbIcon, AzureIcon, MicrosoftIcon, - OktaIcon + OktaIcon, + AuthentikIcon }