diff --git a/frontend/src/pages/continue-page.tsx b/frontend/src/pages/continue-page.tsx index eb55a29..ecc7ab2 100644 --- a/frontend/src/pages/continue-page.tsx +++ b/frontend/src/pages/continue-page.tsx @@ -42,7 +42,7 @@ export const ContinuePage = () => { const url = new URL(redirectURI); - if (!(url.hostname == domain) || !url.hostname.endsWith(`.${domain}`)) { + if (!(url.hostname == domain) && !url.hostname.endsWith(`.${domain}`)) { return ( diff --git a/frontend/src/pages/login-page.tsx b/frontend/src/pages/login-page.tsx index 235e6a5..345d568 100644 --- a/frontend/src/pages/login-page.tsx +++ b/frontend/src/pages/login-page.tsx @@ -43,7 +43,10 @@ export const LoginPage = () => { const isMounted = useIsMounted(); const oauthMutation = useMutation({ - mutationFn: (provider: string) => axios.get(`/api/oauth/url/${provider}`), + mutationFn: (provider: string) => + axios.get( + `/api/oauth/url/${provider}?redirect_uri=${encodeURIComponent(redirectUri ?? "")}`, + ), mutationKey: ["oauth"], onSuccess: (data) => { toast.info(t("loginOauthSuccessTitle"), { diff --git a/frontend/src/pages/logout-page.tsx b/frontend/src/pages/logout-page.tsx index 8ce5c21..e0ac2e2 100644 --- a/frontend/src/pages/logout-page.tsx +++ b/frontend/src/pages/logout-page.tsx @@ -16,7 +16,7 @@ import { Navigate } from "react-router"; import { toast } from "sonner"; export const LogoutPage = () => { - const { provider, username, isLoggedIn } = useUserContext(); + const { provider, username, isLoggedIn, email } = useUserContext(); const { genericName } = useAppContext(); const { t } = useTranslation(); @@ -56,7 +56,7 @@ export const LogoutPage = () => { code: , }} values={{ - username: username, + username: email, provider: provider === "generic" ? genericName : capitalize(provider), }} diff --git a/frontend/src/schemas/user-context-schema.ts b/frontend/src/schemas/user-context-schema.ts index 3c0a95a..08b0b32 100644 --- a/frontend/src/schemas/user-context-schema.ts +++ b/frontend/src/schemas/user-context-schema.ts @@ -3,8 +3,8 @@ import { z } from "zod"; export const userContextSchema = z.object({ isLoggedIn: z.boolean(), username: z.string(), - // name: z.string(), not yet implemented - // email: z.string(), + name: z.string(), + email: z.string(), provider: z.string(), oauth: z.boolean(), totpPending: z.boolean(),