mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-13 14:20:31 +00:00
cleanup unused method
This commit is contained in:
@@ -16,7 +16,6 @@ import crypto from "crypto";
|
|||||||
import { create } from "@zitadel/client";
|
import { create } from "@zitadel/client";
|
||||||
import { Session } from "@zitadel/proto/zitadel/session/v2/session_pb";
|
import { Session } from "@zitadel/proto/zitadel/session/v2/session_pb";
|
||||||
import { ChecksSchema } from "@zitadel/proto/zitadel/session/v2/session_service_pb";
|
import { ChecksSchema } from "@zitadel/proto/zitadel/session/v2/session_service_pb";
|
||||||
import { User } from "@zitadel/proto/zitadel/user/v2/user_pb";
|
|
||||||
import { cookies, headers } from "next/headers";
|
import { cookies, headers } from "next/headers";
|
||||||
import { getNextUrl } from "../client";
|
import { getNextUrl } from "../client";
|
||||||
import { getSessionCookieByLoginName } from "../cookies";
|
import { getSessionCookieByLoginName } from "../cookies";
|
||||||
@@ -323,169 +322,3 @@ export async function sendInviteEmailCode(command: sendEmailCommand) {
|
|||||||
urlTemplate: command.urlTemplate,
|
urlTemplate: command.urlTemplate,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export type SendVerificationRedirectWithoutCheckCommand = {
|
|
||||||
organization?: string;
|
|
||||||
requestId?: string;
|
|
||||||
} & (
|
|
||||||
| { userId: string; loginName?: never }
|
|
||||||
| { userId?: never; loginName: string }
|
|
||||||
);
|
|
||||||
|
|
||||||
export async function sendVerificationRedirectWithoutCheck(
|
|
||||||
command: SendVerificationRedirectWithoutCheckCommand,
|
|
||||||
) {
|
|
||||||
const _headers = await headers();
|
|
||||||
const { serviceUrl } = getServiceUrlFromHeaders(_headers);
|
|
||||||
|
|
||||||
if (!("loginName" in command || "userId" in command)) {
|
|
||||||
return { error: "No userId, nor loginname provided" };
|
|
||||||
}
|
|
||||||
|
|
||||||
let session: Session | undefined;
|
|
||||||
let user: User | undefined;
|
|
||||||
|
|
||||||
if ("loginName" in command) {
|
|
||||||
const sessionCookie = await getSessionCookieByLoginName({
|
|
||||||
loginName: command.loginName,
|
|
||||||
organization: command.organization,
|
|
||||||
}).catch((error) => {
|
|
||||||
console.warn("Ignored error:", error);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!sessionCookie) {
|
|
||||||
return { error: "Could not load session cookie" };
|
|
||||||
}
|
|
||||||
|
|
||||||
session = await getSession({
|
|
||||||
serviceUrl,
|
|
||||||
sessionId: sessionCookie.id,
|
|
||||||
sessionToken: sessionCookie.token,
|
|
||||||
}).then((response) => {
|
|
||||||
if (response?.session) {
|
|
||||||
return response.session;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!session?.factors?.user?.id) {
|
|
||||||
return { error: "Could not create session for user" };
|
|
||||||
}
|
|
||||||
|
|
||||||
const userResponse = await getUserByID({
|
|
||||||
serviceUrl,
|
|
||||||
userId: session?.factors?.user?.id,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!userResponse?.user) {
|
|
||||||
return { error: "Could not load user" };
|
|
||||||
}
|
|
||||||
|
|
||||||
user = userResponse.user;
|
|
||||||
} else if ("userId" in command) {
|
|
||||||
const userResponse = await getUserByID({
|
|
||||||
serviceUrl,
|
|
||||||
userId: command.userId,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!userResponse?.user) {
|
|
||||||
return { error: "Could not load user" };
|
|
||||||
}
|
|
||||||
|
|
||||||
user = userResponse.user;
|
|
||||||
|
|
||||||
const checks = create(ChecksSchema, {
|
|
||||||
user: {
|
|
||||||
search: {
|
|
||||||
case: "loginName",
|
|
||||||
value: userResponse.user.preferredLoginName,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
session = await createSessionAndUpdateCookie({
|
|
||||||
checks,
|
|
||||||
requestId: command.requestId,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!session?.factors?.user?.id) {
|
|
||||||
return { error: "Could not create session for user" };
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!session?.factors?.user?.id) {
|
|
||||||
return { error: "Could not create session for user" };
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!user) {
|
|
||||||
return { error: "Could not load user" };
|
|
||||||
}
|
|
||||||
|
|
||||||
const authMethodResponse = await listAuthenticationMethodTypes({
|
|
||||||
serviceUrl,
|
|
||||||
userId: user.userId,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!authMethodResponse || !authMethodResponse.authMethodTypes) {
|
|
||||||
return { error: "Could not load possible authenticators" };
|
|
||||||
}
|
|
||||||
|
|
||||||
// if no authmethods are found on the user, redirect to set one up
|
|
||||||
if (
|
|
||||||
authMethodResponse &&
|
|
||||||
authMethodResponse.authMethodTypes &&
|
|
||||||
authMethodResponse.authMethodTypes.length == 0
|
|
||||||
) {
|
|
||||||
const params = new URLSearchParams({
|
|
||||||
sessionId: session.id,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (session.factors?.user?.loginName) {
|
|
||||||
params.set("loginName", session.factors?.user?.loginName);
|
|
||||||
}
|
|
||||||
return { redirect: `/authenticator/set?${params}` };
|
|
||||||
}
|
|
||||||
|
|
||||||
const loginSettings = await getLoginSettings({
|
|
||||||
serviceUrl,
|
|
||||||
organization: user.details?.resourceOwner,
|
|
||||||
});
|
|
||||||
|
|
||||||
// redirect to mfa factor if user has one, or redirect to set one up
|
|
||||||
const mfaFactorCheck = await checkMFAFactors(
|
|
||||||
serviceUrl,
|
|
||||||
session,
|
|
||||||
loginSettings,
|
|
||||||
authMethodResponse.authMethodTypes,
|
|
||||||
command.organization,
|
|
||||||
command.requestId,
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mfaFactorCheck?.redirect) {
|
|
||||||
return mfaFactorCheck;
|
|
||||||
}
|
|
||||||
|
|
||||||
// login user if no additional steps are required
|
|
||||||
if (command.requestId && session.id) {
|
|
||||||
const nextUrl = await getNextUrl(
|
|
||||||
{
|
|
||||||
sessionId: session.id,
|
|
||||||
requestId: command.requestId,
|
|
||||||
organization:
|
|
||||||
command.organization ?? session.factors?.user?.organizationId,
|
|
||||||
},
|
|
||||||
loginSettings?.defaultRedirectUri,
|
|
||||||
);
|
|
||||||
|
|
||||||
return { redirect: nextUrl };
|
|
||||||
}
|
|
||||||
|
|
||||||
const url = await getNextUrl(
|
|
||||||
{
|
|
||||||
loginName: session.factors.user.loginName,
|
|
||||||
organization: session.factors?.user?.organizationId,
|
|
||||||
},
|
|
||||||
loginSettings?.defaultRedirectUri,
|
|
||||||
);
|
|
||||||
|
|
||||||
return { redirect: url };
|
|
||||||
}
|
|
||||||
|
Reference in New Issue
Block a user