mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-14 07:24:25 +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>;
|
searchParams: Record<string | number | symbol, string | undefined>;
|
||||||
}) {
|
}) {
|
||||||
const { loginName, checkAfter, authRequestId, organization, sessionId } =
|
const { loginName, authRequestId, organization, sessionId } = searchParams;
|
||||||
searchParams;
|
|
||||||
|
|
||||||
const sessionFactors = sessionId
|
const sessionFactors = sessionId
|
||||||
? await loadSessionById(sessionId, organization)
|
? await loadSessionById(sessionId, organization)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ export default async function Page({
|
|||||||
}: {
|
}: {
|
||||||
searchParams: Record<string | number | symbol, string | undefined>;
|
searchParams: Record<string | number | symbol, string | undefined>;
|
||||||
}) {
|
}) {
|
||||||
const { loginName, organization, authRequestId } = searchParams;
|
const { loginName, organization, authRequestId, checkAfter } = searchParams;
|
||||||
|
|
||||||
const sessionFactors = await loadMostRecentSession({
|
const sessionFactors = await loadMostRecentSession({
|
||||||
loginName,
|
loginName,
|
||||||
@@ -49,9 +49,11 @@ export default async function Page({
|
|||||||
|
|
||||||
{sessionFactors?.id && (
|
{sessionFactors?.id && (
|
||||||
<RegisterU2F
|
<RegisterU2F
|
||||||
|
loginName={loginName}
|
||||||
sessionId={sessionFactors.id}
|
sessionId={sessionFactors.id}
|
||||||
organization={organization}
|
organization={organization}
|
||||||
authRequestId={authRequestId}
|
authRequestId={authRequestId}
|
||||||
|
checkAfter={checkAfter === "true"}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -11,15 +11,19 @@ import { Button, ButtonVariants } from "./Button";
|
|||||||
import { Spinner } from "./Spinner";
|
import { Spinner } from "./Spinner";
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
loginName?: string;
|
||||||
sessionId: string;
|
sessionId: string;
|
||||||
authRequestId?: string;
|
authRequestId?: string;
|
||||||
organization?: string;
|
organization?: string;
|
||||||
|
checkAfter: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function RegisterU2F({
|
export default function RegisterU2F({
|
||||||
|
loginName,
|
||||||
sessionId,
|
sessionId,
|
||||||
organization,
|
organization,
|
||||||
authRequestId,
|
authRequestId,
|
||||||
|
checkAfter,
|
||||||
}: Props) {
|
}: Props) {
|
||||||
const [error, setError] = useState<string>("");
|
const [error, setError] = useState<string>("");
|
||||||
|
|
||||||
@@ -140,23 +144,31 @@ export default function RegisterU2F({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const params = new URLSearchParams();
|
const paramsToContinue = new URLSearchParams({});
|
||||||
|
let urlToContinue = "/accounts";
|
||||||
|
|
||||||
if (organization) {
|
if (sessionId) {
|
||||||
params.set("organization", organization);
|
paramsToContinue.append("sessionId", sessionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// redirect to verify or sign in
|
|
||||||
if (authRequestId) {
|
if (authRequestId) {
|
||||||
params.set("authRequestId", authRequestId);
|
paramsToContinue.append("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);
|
|
||||||
}
|
}
|
||||||
|
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);
|
setLoading(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user