make username lowercase

This commit is contained in:
miloschwartz
2025-06-19 15:41:49 -04:00
parent 58ba0d07b0
commit 1bf2e23f5d
8 changed files with 18 additions and 15 deletions

View File

@@ -23,8 +23,8 @@ export const loginBodySchema = z
.object({ .object({
email: z email: z
.string() .string()
.email() .toLowerCase()
.transform((v) => v.toLowerCase()), .email(),
password: z.string(), password: z.string(),
code: z.string().optional() code: z.string().optional()
}) })

View File

@@ -20,8 +20,8 @@ export const requestPasswordResetBody = z
.object({ .object({
email: z email: z
.string() .string()
.email() .toLowerCase()
.transform((v) => v.toLowerCase()) .email(),
}) })
.strict(); .strict();

View File

@@ -21,8 +21,8 @@ export const resetPasswordBody = z
.object({ .object({
email: z email: z
.string() .string()
.email() .toLowerCase()
.transform((v) => v.toLowerCase()), .email(),
token: z.string(), // reset secret code token: z.string(), // reset secret code
newPassword: passwordSchema, newPassword: passwordSchema,
code: z.string().optional() // 2fa code code: z.string().optional() // 2fa code

View File

@@ -26,8 +26,8 @@ import { UserType } from "@server/types/UserTypes";
export const signupBodySchema = z.object({ export const signupBodySchema = z.object({
email: z email: z
.string() .string()
.email() .toLowerCase()
.transform((v) => v.toLowerCase()), .email(),
password: passwordSchema, password: passwordSchema,
inviteToken: z.string().optional(), inviteToken: z.string().optional(),
inviteId: z.string().optional() inviteId: z.string().optional()

View File

@@ -172,10 +172,10 @@ export async function validateOidcCallback(
const claims = arctic.decodeIdToken(idToken); const claims = arctic.decodeIdToken(idToken);
logger.debug("ID token claims", { claims }); logger.debug("ID token claims", { claims });
const userIdentifier = jmespath.search( let userIdentifier = jmespath.search(
claims, claims,
existingIdp.idpOidcConfig.identifierPath existingIdp.idpOidcConfig.identifierPath
); ) as string | null;
if (!userIdentifier) { if (!userIdentifier) {
return next( return next(
@@ -186,6 +186,8 @@ export async function validateOidcCallback(
); );
} }
userIdentifier = userIdentifier.toLowerCase();
logger.debug("User identifier", { userIdentifier }); logger.debug("User identifier", { userIdentifier });
let email = null; let email = null;

View File

@@ -22,8 +22,8 @@ const authWithWhitelistBodySchema = z
.object({ .object({
email: z email: z
.string() .string()
.email() .toLowerCase()
.transform((v) => v.toLowerCase()), .email(),
otp: z.string().optional() otp: z.string().optional()
}) })
.strict(); .strict();

View File

@@ -21,6 +21,7 @@ const bodySchema = z
.object({ .object({
email: z email: z
.string() .string()
.toLowerCase()
.optional() .optional()
.refine((data) => { .refine((data) => {
if (data) { if (data) {
@@ -28,7 +29,7 @@ const bodySchema = z
} }
return true; return true;
}), }),
username: z.string().nonempty(), username: z.string().nonempty().toLowerCase(),
name: z.string().optional(), name: z.string().optional(),
type: z.enum(["internal", "oidc"]).optional(), type: z.enum(["internal", "oidc"]).optional(),
idpId: z.number().optional(), idpId: z.number().optional(),

View File

@@ -30,8 +30,8 @@ const inviteUserBodySchema = z
.object({ .object({
email: z email: z
.string() .string()
.email() .toLowerCase()
.transform((v) => v.toLowerCase()), .email(),
roleId: z.number(), roleId: z.number(),
validHours: z.number().gt(0).lte(168), validHours: z.number().gt(0).lte(168),
sendEmail: z.boolean().optional(), sendEmail: z.boolean().optional(),