diff --git a/components/modales/settingsModal/SettingsModal.jsx b/components/modales/settingsModal/SettingsModal.jsx index 244b160..991bc11 100644 --- a/components/modales/settingsModal/SettingsModal.jsx +++ b/components/modales/settingsModal/SettingsModal.jsx @@ -11,12 +11,16 @@ import handleSubmit from "./handlers/handleSubmit"; import { useRouter } from "next/router"; import { setAdminLoggedIn } from "../../../store/authSlice"; import { useDispatch } from "react-redux"; +import bcrypt from "bcryptjs"; ReactModal.setAppElement("#__next"); - const USERS = { - Admin: { username: "admin", password: "admin", role: "Admin" }, - Ismail: { username: "ismail", password: "ismail", role: "Admin" }, + Admin: { + username: "admin", + // Gehashte Version von "admin" mit bcrypt + password: "$2a$10$xpq/.tcOJN/LXfzdCcCVrenlBh2nRlM1R1ISY7dd1q2qGWC9Fyd2G", + role: "Admin", + }, }; // Function to generate JWT token function generateToken(user) { @@ -38,24 +42,23 @@ function SettingModal({ showModal, onClose }) { const [showLoginForm, setShowLoginForm] = useState(false); // Zustand für Login-Formular const router = useRouter(); - const handleAdminLogin = (e) => { + function handleAdminLogin(e) { e.preventDefault(); - const user = Object.values(USERS).find( - (u) => u.username === username && u.password === password - ); - - if (user) { - const token = generateToken(user); - localStorage.setItem("token", token); - dispatch(setAdminLoggedIn(true)); - setShowLoginForm(false); - onClose(); - } else { - setError( - "Login fehlgeschlagen. Bitte überprüfen Sie Benutzername und Passwort." - ); - } - }; + const user = USERS.Admin; // Finde den Admin-Benutzer + bcrypt.compare(password, user.password, (err, isMatch) => { + if (isMatch) { + const token = generateToken(user); + sessionStorage.setItem("token", token); // Speichere Token in SessionStorage + dispatch(setAdminLoggedIn(true)); + setShowLoginForm(false); + onClose(); + } else { + setError( + "Login fehlgeschlagen. Bitte überprüfen Sie Benutzername und Passwort." + ); + } + }); + } const deviceName_Redux = useSelector((state) => state.variables.deviceName); const mac1_Redux = useSelector((state) => state.variables.mac1); const ip_Redux = useSelector((state) => state.variables.ip);