From 98f1163dfc879fa89117fdadef93261d21ef19e1 Mon Sep 17 00:00:00 2001 From: David Edler Date: Fri, 12 Jul 2024 17:22:16 +0200 Subject: [PATCH] ui: set oidc method on login if a provider is present in the values Signed-off-by: David Edler --- ui/pages/login.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ui/pages/login.tsx b/ui/pages/login.tsx index 71d83f6d8..b1d2f9de8 100644 --- a/ui/pages/login.tsx +++ b/ui/pages/login.tsx @@ -11,6 +11,7 @@ import { kratos } from "../api/kratos"; import { FlowResponse } from "./consent"; import PageLayout from "../components/PageLayout"; import { replaceAuthLabel } from "../util/replaceAuthLabel"; +import { UpdateLoginFlowWithOidcMethod } from "@ory/client/api"; const Login: NextPage = () => { const [flow, setFlow] = useState(); @@ -73,12 +74,22 @@ const Login: NextPage = () => { ]); const handleSubmit = useCallback( (values: UpdateLoginFlowBody) => { + const getMethod = () => { + if ((values as UpdateLoginFlowWithOidcMethod).provider) { + return "oidc"; + } + if (isAuthCode) { + return "totp"; + } + return "password"; + }; + return kratos .updateLoginFlow({ flow: String(flow?.id), updateLoginFlowBody: { ...values, - method: isAuthCode ? "totp" : "password", + method: getMethod(), } as UpdateLoginFlowBody, }) .then(({ data }) => {