Fix broken verification button URLs in emails
Build And Push Image / docker (push) Successful in 3m11s Details

- Fix malformed verification links caused by config.public.domain
- Use absolute HTTPS URLs for verification links in both registration and verification emails
- Ensures verification buttons work correctly in all email clients
- Fixes the 'app://renderer/' URL prefix issue seen in email clients
This commit is contained in:
Matt 2025-08-11 16:44:35 +02:00
parent 13cf728ab2
commit 6e68e42f28
2 changed files with 4 additions and 6 deletions

View File

@ -76,9 +76,8 @@ export default defineEventHandler(async (event) => {
const { generateEmailVerificationToken } = await import('~/server/utils/email-tokens');
const verificationToken = await generateEmailVerificationToken(user.id, email);
// Get configuration
const config = useRuntimeConfig();
const verificationLink = `${config.public.domain}/api/auth/verify-email?token=${verificationToken}`;
// Get configuration - ensure proper absolute URL
const verificationLink = `https://portal.monacousa.org/api/auth/verify-email?token=${verificationToken}`;
// Send verification email
const { getEmailService } = await import('~/server/utils/email');

View File

@ -151,9 +151,8 @@ export default defineEventHandler(async (event) => {
const emailService = await getEmailService();
const verificationToken = await generateEmailVerificationToken(createdKeycloakId, body.email);
const config = useRuntimeConfig();
// Fix: Point to user-friendly verification page instead of direct API endpoint
const verificationLink = `${config.public.domain}/auth/verify?token=${verificationToken}`;
// Fix: Point to user-friendly verification page instead of direct API endpoint with absolute URL
const verificationLink = `https://portal.monacousa.org/auth/verify?token=${verificationToken}`;
await emailService.sendWelcomeEmail(body.email, {
firstName: body.first_name,