fix(auth): more auth things

This commit is contained in:
Carl-Gerhard Lindesvärd
2024-12-21 11:18:06 +01:00
parent eb2abd6027
commit b6bdcddcbe
3 changed files with 8 additions and 10 deletions

View File

@@ -15,7 +15,10 @@ export async function getUserAccount({
}: { email: string; provider: string; providerId?: string }) { }: { email: string; provider: string; providerId?: string }) {
const res = await db.user.findFirst({ const res = await db.user.findFirst({
where: { where: {
email, email: {
equals: email,
mode: 'insensitive',
},
}, },
include: { include: {
accounts: { accounts: {

View File

@@ -141,6 +141,7 @@ export const authRouter = createTRPCRouter({
.input(zSignInEmail) .input(zSignInEmail)
.mutation(async ({ input, ctx }) => { .mutation(async ({ input, ctx }) => {
const provider = 'email'; const provider = 'email';
const password = input.password.trim();
const user = await getUserAccount({ const user = await getUserAccount({
email: input.email, email: input.email,
@@ -158,7 +159,7 @@ export const authRouter = createTRPCRouter({
if (user.account.password?.startsWith('$argon2')) { if (user.account.password?.startsWith('$argon2')) {
const validPassword = await verifyPasswordHash( const validPassword = await verifyPasswordHash(
user.account.password ?? '', user.account.password ?? '',
input.password, password,
); );
if (!validPassword) { if (!validPassword) {
@@ -166,7 +167,7 @@ export const authRouter = createTRPCRouter({
} }
} else { } else {
const validPassword = await bcrypt.compare( const validPassword = await bcrypt.compare(
input.password, password,
user.account.password ?? '', user.account.password ?? '',
); );

View File

@@ -301,13 +301,7 @@ export const zProject = z.object({
}); });
export type IProjectEdit = z.infer<typeof zProject>; export type IProjectEdit = z.infer<typeof zProject>;
export const zPassword = z export const zPassword = z.string().min(8);
.string()
.min(8)
.regex(
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/,
'Password must contain at least 8 characters, one uppercase letter, one lowercase letter, one number and one special character',
);
export const zSignInEmail = z.object({ export const zSignInEmail = z.object({
email: z.string().email().min(1), email: z.string().email().min(1),