fix(auth): more auth things
This commit is contained in:
@@ -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: {
|
||||||
|
|||||||
@@ -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 ?? '',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
Reference in New Issue
Block a user