diff --git a/site/src/api/api.ts b/site/src/api/api.ts index 1c0a6d77b8..303042f2cc 100644 --- a/site/src/api/api.ts +++ b/site/src/api/api.ts @@ -101,9 +101,19 @@ export const logout = async (): Promise => { await axios.post("/api/v2/users/logout") } -export const getUser = async (): Promise => { - const response = await axios.get("/api/v2/users/me") - return response.data +export const getAuthenticatedUser = async (): Promise< + TypesGen.User | undefined +> => { + try { + const response = await axios.get("/api/v2/users/me") + return response.data + } catch (error) { + if (axios.isAxiosError(error) && error.response?.status === 401) { + return undefined + } + + throw error + } } export const getAuthMethods = async (): Promise => { diff --git a/site/src/components/RequireAuth/RequireAuth.tsx b/site/src/components/RequireAuth/RequireAuth.tsx index a4716b517f..b82335dab3 100644 --- a/site/src/components/RequireAuth/RequireAuth.tsx +++ b/site/src/components/RequireAuth/RequireAuth.tsx @@ -13,9 +13,12 @@ export const RequireAuth: FC = () => { if (authState.matches("signedOut")) { return - } else if (authState.matches("waitingForTheFirstUser")) { + } else if (authState.matches("configuringTheFirstUser")) { return - } else if (authState.hasTag("loading")) { + } else if ( + authState.matches("loadingInitialAuthData") || + authState.matches("signingOut") + ) { return } else { return diff --git a/site/src/components/SignInForm/OAuthSignInForm.tsx b/site/src/components/SignInForm/OAuthSignInForm.tsx index 8978259a6b..ca958ab09e 100644 --- a/site/src/components/SignInForm/OAuthSignInForm.tsx +++ b/site/src/components/SignInForm/OAuthSignInForm.tsx @@ -9,7 +9,7 @@ import { FC } from "react" import { makeStyles } from "@material-ui/core/styles" type OAuthSignInFormProps = { - isLoading: boolean + isSigningIn: boolean redirectTo: string authMethods?: AuthMethods } @@ -22,7 +22,7 @@ const useStyles = makeStyles((theme) => ({ })) export const OAuthSignInForm: FC = ({ - isLoading, + isSigningIn, redirectTo, authMethods, }) => { @@ -39,7 +39,7 @@ export const OAuthSignInForm: FC = ({ >