mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:21:09 +02:00
BREAKING: JWT keys are now auto-managed by Better Auth (EdDSA/Ed25519) - Remove all JWT_PRIVATE_KEY, JWT_PUBLIC_KEY, JWT_SECRET references - Keys stored in auth.jwks database table (auto-generated on first run) - Delete obsolete generate-keys.sh and generate-staging-secrets.sh scripts - Clean up legacy AUTH_*.md analysis files from root Security Improvements: - Add security_events table for audit logging - Add SecurityEventsService for tracking auth events - Enhanced security headers (HSTS, CSP, X-Frame-Options) - Rate limiting configuration Monitoring Setup: - Add auth-health-check.sh for automated testing - Add generate-dashboard.sh for HTML status dashboard - Tests: health endpoint, JWKS (EdDSA), security headers, response time - Ready for Hetzner cron deployment Documentation: - Update deployment docs with Better Auth notes - Update environment variable references - Add security improvements documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 lines
498 B
TypeScript
30 lines
498 B
TypeScript
import { IsEmail, IsString, IsOptional, IsBoolean, MinLength } from 'class-validator';
|
|
|
|
export class LoginDto {
|
|
@IsEmail()
|
|
email: string;
|
|
|
|
@IsString()
|
|
@MinLength(12) // Matches Better Auth config (minPasswordLength: 12)
|
|
password: string;
|
|
|
|
@IsString()
|
|
@IsOptional()
|
|
deviceId?: string;
|
|
|
|
@IsString()
|
|
@IsOptional()
|
|
deviceName?: string;
|
|
|
|
@IsBoolean()
|
|
@IsOptional()
|
|
rememberMe?: boolean;
|
|
|
|
@IsString()
|
|
@IsOptional()
|
|
ipAddress?: string;
|
|
|
|
@IsString()
|
|
@IsOptional()
|
|
userAgent?: string;
|
|
}
|