diff --git a/apps/webapp/app/services/emailAuth.server.tsx b/apps/webapp/app/services/emailAuth.server.tsx index e48d405dd2..ccc804bebd 100644 --- a/apps/webapp/app/services/emailAuth.server.tsx +++ b/apps/webapp/app/services/emailAuth.server.tsx @@ -6,6 +6,7 @@ import { env } from "~/env.server"; import { sendMagicLinkEmail } from "~/services/email.server"; import { postAuthentication } from "./postAuth.server"; import { logger } from "./logger.server"; +import { normalizeEmail } from "~/utils/email"; let secret = env.MAGIC_LINK_SECRET; if (!secret) throw new Error("Missing MAGIC_LINK_SECRET env variable."); @@ -30,7 +31,7 @@ const emailStrategy = new EmailLinkStrategy( try { const { user, isNewUser } = await findOrCreateUser({ - email, + email: normalizeEmail(email), authenticationMethod: "MAGIC_LINK", }); diff --git a/apps/webapp/app/services/gitHubAuth.server.ts b/apps/webapp/app/services/gitHubAuth.server.ts index ff9e736d64..a7895d5f1c 100644 --- a/apps/webapp/app/services/gitHubAuth.server.ts +++ b/apps/webapp/app/services/gitHubAuth.server.ts @@ -5,6 +5,7 @@ import { findOrCreateUser } from "~/models/user.server"; import type { AuthUser } from "./authUser"; import { postAuthentication } from "./postAuth.server"; import { logger } from "./logger.server"; +import { normalizeEmail } from "~/utils/email"; export function addGitHubStrategy( authenticator: Authenticator, @@ -32,7 +33,7 @@ export function addGitHubStrategy( }); const { user, isNewUser } = await findOrCreateUser({ - email: emails[0].value, + email: normalizeEmail(emails[0].value), authenticationMethod: "GITHUB", authenticationProfile: profile, authenticationExtraParams: extraParams, diff --git a/apps/webapp/app/utils/email.ts b/apps/webapp/app/utils/email.ts new file mode 100644 index 0000000000..49250c7568 --- /dev/null +++ b/apps/webapp/app/utils/email.ts @@ -0,0 +1,5 @@ +export const normalizeEmail = (email: string): string => { + const [localPart, domain] = email.split("@"); + const normalizedEmail = `${localPart}@${domain.toLowerCase()}`; + return normalizedEmail; +};