Email verification Backend
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 981 KiB |
@@ -120,7 +120,7 @@ export class TokenService {
|
|||||||
try {
|
try {
|
||||||
// Remove trailing slash from baseUrl if present
|
// Remove trailing slash from baseUrl if present
|
||||||
const cleanBaseUrl = baseUrl.replace(/\/$/, '');
|
const cleanBaseUrl = baseUrl.replace(/\/$/, '');
|
||||||
return `${cleanBaseUrl}/api/auth/verify-email?token=${encodeURIComponent(token)}`;
|
return `${cleanBaseUrl}/verify-email?token=${encodeURIComponent(token)}`;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logError('TokenService.generateVerificationUrl error', error instanceof Error ? error : new Error(String(error)));
|
logError('TokenService.generateVerificationUrl error', error instanceof Error ? error : new Error(String(error)));
|
||||||
throw new Error('Failed to generate verification URL');
|
throw new Error('Failed to generate verification URL');
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ export class CreateUserCommandHandler {
|
|||||||
|
|
||||||
private async sendVerificationEmailAsync(user: UserAggregate, token: string): Promise<void> {
|
private async sendVerificationEmailAsync(user: UserAggregate, token: string): Promise<void> {
|
||||||
try {
|
try {
|
||||||
const baseUrl = process.env.APP_BASE_URL || 'http://localhost:3000';
|
const baseUrl = process.env.FRONTEND_URL || 'http://localhost:5173';
|
||||||
const verificationUrl = TokenService.generateVerificationUrl(baseUrl, token);
|
const verificationUrl = TokenService.generateVerificationUrl(baseUrl, token);
|
||||||
|
|
||||||
const emailSent = await this.emailService.sendVerificationEmail(
|
const emailSent = await this.emailService.sendVerificationEmail(
|
||||||
|
|||||||
@@ -123,7 +123,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="email-container">
|
<div class="email-container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="logo">🐍 {{ companyName }}</div>
|
<div class="logo"><img src="../../assets/Logo.png" alt="{{ companyName }}" /> {{ companyName }}</div>
|
||||||
<div class="subtitle">Passwort zurücksetzen</div>
|
<div class="subtitle">Passwort zurücksetzen</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -123,7 +123,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="email-container">
|
<div class="email-container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="logo">🐍 {{ companyName }}</div>
|
<div class="logo"><img src="../../assets/Logo.png" alt="{{ companyName }}" /> {{ companyName }}</div>
|
||||||
<div class="subtitle">Jelszó visszaállítás kérése</div>
|
<div class="subtitle">Jelszó visszaállítás kérése</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -123,7 +123,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="email-container">
|
<div class="email-container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="logo">🐍 {{ companyName }}</div>
|
<div class="logo"><img src="../../assets/Logo.png" alt="{{ companyName }}" /> {{ companyName }}</div>
|
||||||
<div class="subtitle">Password Reset Request</div>
|
<div class="subtitle">Password Reset Request</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="email-container">
|
<div class="email-container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="logo">🐍 {{ companyName }}</div>
|
<div class="logo"><img src="../../assets/Logo.png" alt="{{ companyName }}" /> {{ companyName }}</div>
|
||||||
<div class="subtitle">Konto verifizieren</div>
|
<div class="subtitle">Konto verifizieren</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="email-container">
|
<div class="email-container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="logo">🐍 {{ companyName }}</div>
|
<div class="logo"><img src="../../assets/Logo.png" alt="{{ companyName }}" /> {{ companyName }}</div>
|
||||||
<div class="subtitle">Fiók megerősítése</div>
|
<div class="subtitle">Fiók megerősítése</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="email-container">
|
<div class="email-container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="logo">🐍 {{ companyName }}</div>
|
<div class="logo"><img src="../../assets/Logo.png" alt="{{ companyName }}" /> {{ companyName }}</div>
|
||||||
<div class="subtitle">Account Verification</div>
|
<div class="subtitle">Account Verification</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- NODE_ENV=development
|
- NODE_ENV=development
|
||||||
- PORT=3000
|
- PORT=3000
|
||||||
- FRONTEND_URL=http://localhost:5173
|
|
||||||
- DB_HOST=postgres
|
- DB_HOST=postgres
|
||||||
- DB_PORT=5432
|
- DB_PORT=5432
|
||||||
- DB_NAME=serpentrace
|
- DB_NAME=serpentrace
|
||||||
|
|||||||
Reference in New Issue
Block a user