added hashed passwords

This commit is contained in:
2025-10-08 18:11:04 +02:00
parent a6ec865571
commit 96a36d68a9
7 changed files with 469 additions and 158 deletions

View File

@@ -1,11 +1,10 @@
// frontend/src/contexts/AuthContext.tsx
import React, { createContext, useContext, useState, useEffect } from 'react';
import { authService, User, LoginRequest, RegisterRequest } from '../services/authService';
import { authService, User, LoginRequest } from '../services/authService';
interface AuthContextType {
user: User | null;
login: (credentials: LoginRequest) => Promise<void>;
register: (userData: RegisterRequest) => Promise<void>;
logout: () => void;
hasRole: (roles: string[]) => boolean;
loading: boolean;
@@ -19,43 +18,26 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children
useEffect(() => {
// User aus localStorage laden beim Start
const initAuth = async () => {
const savedUser = authService.getCurrentUser();
if (savedUser) {
setUser(savedUser);
}
setLoading(false);
};
initAuth();
const savedUser = authService.getCurrentUser();
if (savedUser) {
setUser(savedUser);
}
setLoading(false);
}, []);
const login = async (credentials: LoginRequest) => {
try {
const response = await authService.login(credentials);
setUser(response.user); // ← WICHTIG: User State updaten!
console.log('AuthContext: User nach Login gesetzt', response.user);
setUser(response.user);
} catch (error) {
console.error('AuthContext: Login fehlgeschlagen', error);
throw error;
}
};
const register = async (userData: RegisterRequest) => {
try {
const response = await authService.register(userData);
setUser(response.user);
console.log('AuthContext: User nach Registrierung gesetzt', response.user);
} catch (error) {
console.error('AuthContext: Registrierung fehlgeschlagen', error);
throw error;
}
};
const logout = () => {
authService.logout();
setUser(null);
console.log('AuthContext: User nach Logout entfernt');
};
const hasRole = (roles: string[]) => {
@@ -65,7 +47,6 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children
const value = {
user,
login,
register,
logout,
hasRole,
loading