mirror of
https://github.com/KevinMidboe/immich.git
synced 2026-01-17 06:36:36 +00:00
refactor(web,server): use feature flags for oauth (#3928)
* refactor: oauth to use feature flags * chore: open api * chore: e2e test for authorize endpoint
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import { AppRoute } from '$lib/constants';
|
||||
import type { OAuthConfigResponseDto } from '@api';
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
@@ -10,23 +9,7 @@ export const load = (async ({ locals: { api } }) => {
|
||||
throw redirect(302, AppRoute.AUTH_REGISTER);
|
||||
}
|
||||
|
||||
let authConfig: OAuthConfigResponseDto = {
|
||||
passwordLoginEnabled: true,
|
||||
enabled: false,
|
||||
};
|
||||
|
||||
try {
|
||||
// TODO: Figure out how to get correct redirect URI server-side.
|
||||
const { data } = await api.oauthApi.generateConfig({ oAuthConfigDto: { redirectUri: '/' } });
|
||||
data.url = undefined;
|
||||
|
||||
authConfig = data;
|
||||
} catch (err) {
|
||||
console.error('[ERROR] login/+page.server.ts:', err);
|
||||
}
|
||||
|
||||
return {
|
||||
authConfig,
|
||||
meta: {
|
||||
title: 'Login',
|
||||
},
|
||||
|
||||
@@ -4,20 +4,22 @@
|
||||
import FullscreenContainer from '$lib/components/shared-components/fullscreen-container.svelte';
|
||||
import { AppRoute } from '$lib/constants';
|
||||
import { loginPageMessage } from '$lib/constants';
|
||||
import { featureFlags } from '$lib/stores/feature-flags.store';
|
||||
import type { PageData } from './$types';
|
||||
|
||||
export let data: PageData;
|
||||
</script>
|
||||
|
||||
<FullscreenContainer title={data.meta.title} showMessage={!!loginPageMessage}>
|
||||
<p slot="message">
|
||||
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
||||
{@html loginPageMessage}
|
||||
</p>
|
||||
{#if $featureFlags.loaded}
|
||||
<FullscreenContainer title={data.meta.title} showMessage={!!loginPageMessage}>
|
||||
<p slot="message">
|
||||
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
||||
{@html loginPageMessage}
|
||||
</p>
|
||||
|
||||
<LoginForm
|
||||
authConfig={data.authConfig}
|
||||
on:success={() => goto(AppRoute.PHOTOS, { invalidateAll: true })}
|
||||
on:first-login={() => goto(AppRoute.AUTH_CHANGE_PASSWORD)}
|
||||
/>
|
||||
</FullscreenContainer>
|
||||
<LoginForm
|
||||
on:success={() => goto(AppRoute.PHOTOS, { invalidateAll: true })}
|
||||
on:first-login={() => goto(AppRoute.AUTH_CHANGE_PASSWORD)}
|
||||
/>
|
||||
</FullscreenContainer>
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user