diff --git a/website/src/middleware/authMiddleware.ts b/website/src/middleware/authMiddleware.ts index 62097e334..6e33c56cf 100644 --- a/website/src/middleware/authMiddleware.ts +++ b/website/src/middleware/authMiddleware.ts @@ -7,6 +7,7 @@ import { type BaseClient, Issuer, type TokenSet } from 'openid-client'; import { getConfiguredOrganisms, getRuntimeConfig } from '../config.ts'; import { getInstanceLogger } from '../logger.ts'; +import { routes } from '../routes'; import { shouldMiddlewareEnforceLogin } from '../utils/shouldMiddlewareEnforceLogin.ts'; export const ACCESS_TOKEN_COOKIE = 'access_token'; @@ -47,6 +48,10 @@ export async function getKeycloakClient() { } export const getAuthUrl = async (redirectUrl: string) => { + const logout = routes.logout(); + if (redirectUrl.endsWith(logout)) { + redirectUrl = redirectUrl.replace(logout, routes.userOverviewPage()); + } const authUrl = (await getKeycloakClient()).authorizationUrl({ redirect_uri: redirectUrl, scope: 'openid',