mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-13 21:40:45 +00:00
continue to signin or check after u2f setup
This commit is contained in:
@@ -16,8 +16,7 @@ export default async function Page({
|
||||
}: {
|
||||
searchParams: Record<string | number | symbol, string | undefined>;
|
||||
}) {
|
||||
const { loginName, checkAfter, authRequestId, organization, sessionId } =
|
||||
searchParams;
|
||||
const { loginName, authRequestId, organization, sessionId } = searchParams;
|
||||
|
||||
const sessionFactors = sessionId
|
||||
? await loadSessionById(sessionId, organization)
|
||||
|
||||
@@ -10,7 +10,7 @@ export default async function Page({
|
||||
}: {
|
||||
searchParams: Record<string | number | symbol, string | undefined>;
|
||||
}) {
|
||||
const { loginName, organization, authRequestId } = searchParams;
|
||||
const { loginName, organization, authRequestId, checkAfter } = searchParams;
|
||||
|
||||
const sessionFactors = await loadMostRecentSession({
|
||||
loginName,
|
||||
@@ -49,9 +49,11 @@ export default async function Page({
|
||||
|
||||
{sessionFactors?.id && (
|
||||
<RegisterU2F
|
||||
loginName={loginName}
|
||||
sessionId={sessionFactors.id}
|
||||
organization={organization}
|
||||
authRequestId={authRequestId}
|
||||
checkAfter={checkAfter === "true"}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -11,15 +11,19 @@ import { Button, ButtonVariants } from "./Button";
|
||||
import { Spinner } from "./Spinner";
|
||||
|
||||
type Props = {
|
||||
loginName?: string;
|
||||
sessionId: string;
|
||||
authRequestId?: string;
|
||||
organization?: string;
|
||||
checkAfter: boolean;
|
||||
};
|
||||
|
||||
export default function RegisterU2F({
|
||||
loginName,
|
||||
sessionId,
|
||||
organization,
|
||||
authRequestId,
|
||||
checkAfter,
|
||||
}: Props) {
|
||||
const [error, setError] = useState<string>("");
|
||||
|
||||
@@ -140,23 +144,31 @@ export default function RegisterU2F({
|
||||
return;
|
||||
}
|
||||
|
||||
const params = new URLSearchParams();
|
||||
const paramsToContinue = new URLSearchParams({});
|
||||
let urlToContinue = "/accounts";
|
||||
|
||||
if (organization) {
|
||||
params.set("organization", organization);
|
||||
if (sessionId) {
|
||||
paramsToContinue.append("sessionId", sessionId);
|
||||
}
|
||||
|
||||
// redirect to verify or sign in
|
||||
if (authRequestId) {
|
||||
params.set("authRequestId", authRequestId);
|
||||
params.set("sessionId", sessionId);
|
||||
// params.set("altPassword", ${false}); // without setting altPassword this does not allow password
|
||||
// params.set("loginName", resp.loginName);
|
||||
|
||||
router.push("/u2f?" + params);
|
||||
} else {
|
||||
router.push("/accounts?" + params);
|
||||
paramsToContinue.append("authRequestId", authRequestId);
|
||||
}
|
||||
if (loginName) {
|
||||
paramsToContinue.append("loginName", loginName);
|
||||
}
|
||||
if (organization) {
|
||||
paramsToContinue.append("organization", organization);
|
||||
}
|
||||
|
||||
if (checkAfter) {
|
||||
urlToContinue = `/u2f?` + paramsToContinue;
|
||||
} else if (authRequestId && sessionId) {
|
||||
urlToContinue = `/login?` + paramsToContinue;
|
||||
} else if (loginName) {
|
||||
urlToContinue = `/signedin?` + paramsToContinue;
|
||||
}
|
||||
|
||||
router.push(urlToContinue);
|
||||
}
|
||||
|
||||
setLoading(false);
|
||||
|
||||
Reference in New Issue
Block a user