diff --git a/packages/login/src/client/App.tsx b/packages/login/src/client/App.tsx index 880374b75d..c94f39490e 100644 --- a/packages/login/src/client/App.tsx +++ b/packages/login/src/client/App.tsx @@ -38,12 +38,7 @@ const App: React.FC = (props) => { - } + element={} /> } /> {/*} />*/} diff --git a/packages/login/src/client/components/sub-components/Consent.tsx b/packages/login/src/client/components/sub-components/Consent.tsx index b15c599496..2090c8c929 100644 --- a/packages/login/src/client/components/sub-components/Consent.tsx +++ b/packages/login/src/client/components/sub-components/Consent.tsx @@ -20,10 +20,9 @@ import Link from "@docspace/components/link"; import Avatar from "@docspace/components/avatar"; //@ts-ignore import { Base } from "@docspace/components/themes"; -//@ts-ignore -import { getCookie } from "@docspace/components/utils/cookie"; import OAuthClientInfo from "./oauth-client-info"; +import { deleteCookie, setCookie } from "@docspace/common/utils"; const StyledFormWrapper = styled(FormWrapper)` width: 416px; @@ -82,30 +81,29 @@ const Consent = ({ oauth, theme, setIsConsentScreen }: IConsentProps) => { const onAllowClick = async () => { const clientId = oauth.clientId; - let clientState = oauth.state; + let clientState = ""; const scope = oauth.client.scopes; - if (!clientState) { - const getCookie = () => { - const cookie = document.cookie.split(";"); + setCookie("client_id", clientId); - cookie.forEach((c) => { - if (c.includes("client_state")) - clientState = c.replace("client_state=", "").trim(); - }); - }; + await api.oauth.onOAuthLogin(); - getCookie(); + const cookie = document.cookie.split(";"); - if (!clientState) await api.oauth.onOAuthLogin(); + cookie.forEach((c) => { + if (c.includes("client_state")) + clientState = c.replace("client_state=", "").trim(); + }); - getCookie(); - } + deleteCookie("client_id"); + deleteCookie("client_state"); await api.oauth.onOAuthSubmit(clientId, clientState, scope); }; const onDenyClick = () => { + deleteCookie("client_id"); + deleteCookie("client_state"); window.location.href = oauth.client.websiteUrl; }; diff --git a/packages/login/src/server/index.ts b/packages/login/src/server/index.ts index 8f1e1f8f61..485af6e88b 100644 --- a/packages/login/src/server/index.ts +++ b/packages/login/src/server/index.ts @@ -60,7 +60,6 @@ app.get("*", async (req: ILoginRequest, res: Response, next) => { try { const oauthClientId = (query.client_id as string) || ""; - let oauthClientState = (query.state as string) || ""; const isOAuth = query.type === "oauth2" && !!oauthClientId; @@ -88,19 +87,8 @@ app.get("*", async (req: ILoginRequest, res: Response, next) => { isAuth ); - if (isAuth && !oauthClientState) { - const cookieState = headers.cookie - ?.split(";") - .find((c) => c.includes("client_state")) - ?.replace("client_state=", "") - .trim(); + const isConsent = isAuth; - if (cookieState) oauthClientState = cookieState; - } - - const isConsent = isAuth && isOAuth; - - oauthState.state = oauthClientState || ""; oauthState.isConsent = !!isConsent; isCorrectOAuth = !!oauthState?.client.name;