34 lines
904 B
TypeScript
34 lines
904 B
TypeScript
'use server';
|
|
|
|
import { verifyCredentials } from '@/lib/auth';
|
|
import { createSession, deleteSession } from '@/lib/session';
|
|
import { redirect } from 'next/navigation';
|
|
|
|
export async function login(prevState: any, formData: FormData) {
|
|
const username = formData.get('username') as string;
|
|
const password = formData.get('password') as string;
|
|
|
|
console.log('Login attempt:', { username, passwordLength: password?.length });
|
|
console.log('AUTH_USERS env:', process.env.AUTH_USERS);
|
|
|
|
if (!username || !password) {
|
|
return { error: 'Bitte Benutzername und Passwort eingeben' };
|
|
}
|
|
|
|
const isValid = verifyCredentials(username, password);
|
|
|
|
console.log('Credentials valid:', isValid);
|
|
|
|
if (!isValid) {
|
|
return { error: 'Ungültige Anmeldedaten' };
|
|
}
|
|
|
|
await createSession(username);
|
|
redirect('/');
|
|
}
|
|
|
|
export async function logout() {
|
|
await deleteSession();
|
|
redirect('/login');
|
|
}
|