feat: Admin-Login, Token-Handling und Passwort-Hashing optimiert
- Passwort-Hashing und Salt-Erzeugung mit bcrypt implementiert, um sensible Daten wie Passwörter sicher zu speichern. - Token-Generierung und -Validierung eingeführt, um den Admin-Status zu überprüfen und temporäre Zugriffsrechte zu verwalten. - Benutzername-Vergleich case-insensitive gestaltet, um Benutzerfreundlichkeit zu verbessern. - Token wird in localStorage gespeichert und die Ablaufzeit überprüft, um Sicherheit und konsistente Sitzungen zu gewährleisten. - Fehlerbehebungen und Code-Refactor durchgeführt, um Lesbarkeit und Wartbarkeit zu verbessern. **Warum:** - Passwort-Hashing und Salt schützen Passwörter vor direkten Angriffen (z. B. Brute-Force oder Datenlecks). - Token-Handling ermöglicht eine sichere und flexible Verwaltung von Sitzungsinformationen. - Verbesserungen erhöhen die Sicherheit und Benutzerfreundlichkeit des Admin-Bereichs.
This commit is contained in:
@@ -5,6 +5,7 @@ import { useRouter } from "next/router";
|
||||
import "bootstrap-icons/font/bootstrap-icons.css";
|
||||
import SettingsModal from "./modales/settingsModal/SettingsModal";
|
||||
import { useSelector } from "react-redux";
|
||||
import decodeToken from "../utils/decodeToken";
|
||||
|
||||
function Header() {
|
||||
const isAdminLoggedIn = useSelector((state) => state.auth.isAdminLoggedIn);
|
||||
|
||||
@@ -8,17 +8,7 @@ import handleSave from "./handlers/handleSave";
|
||||
import handleDisplayEinschalten from "./handlers/handleDisplayEinschalten";
|
||||
import handleChange from "./handlers/handleChange";
|
||||
import firmwareUpdate from "./handlers/firmwareUpdate";
|
||||
|
||||
function decodeToken(token) {
|
||||
try {
|
||||
const base64Payload = token.split(".")[1];
|
||||
const payload = JSON.parse(atob(base64Payload));
|
||||
return payload;
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Dekodieren des Tokens:", error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
import decodeToken from "../../../utils/decodeToken";
|
||||
|
||||
function KueModal({ showModal, onClose, slot, onModulNameChange }) {
|
||||
const isAdminLoggedIn = useSelector((state) => state.auth.isAdminLoggedIn);
|
||||
|
||||
Reference in New Issue
Block a user