Konto-Seite: eigenen Namen, E-Mail, Passwort und Passkeys selbst verwalten
- Klick auf den Benutzernamen im Header (Kantinen- und Admin-Bereich) öffnet /konto - Name-Änderung per RLS-Policy mit spaltenscharfem Grant (nur full_name), Rolle bleibt ausschließlich über die Admin-API änderbar - E-Mail-Änderung über supabase.auth.updateUser mit Bestätigungslink; Trigger synchronisiert profiles.email nach Bestätigung - Passwortänderung verlangt zur Verifizierung das aktuelle Passwort (Re-Login-Check) plus Wiederholung des neuen Passworts - Passkey-Verwaltung aus /intern/konto hierher verschoben
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
import PasskeyManager from "@/components/PasskeyManager";
|
||||
|
||||
export default function KontoPage() {
|
||||
return <PasskeyManager />;
|
||||
}
|
||||
@@ -35,9 +35,6 @@ export default async function InternLayout({
|
||||
<Link href="/intern/kennzeichnung" className="hover:underline">
|
||||
Allergene & Zusatzstoffe
|
||||
</Link>
|
||||
<Link href="/intern/konto" className="hover:underline">
|
||||
Passkeys
|
||||
</Link>
|
||||
{profile.role === "admin" && (
|
||||
<Link href="/admin" className="hover:underline">
|
||||
Verwaltung
|
||||
@@ -48,9 +45,9 @@ export default async function InternLayout({
|
||||
</Link>
|
||||
</nav>
|
||||
<div className="ml-auto flex items-center gap-3 text-sm">
|
||||
<span className="text-white/70">
|
||||
<Link href="/konto" className="text-white/70 hover:underline">
|
||||
{profile.full_name || user.email}
|
||||
</span>
|
||||
</Link>
|
||||
<form action="/logout" method="post">
|
||||
<button type="submit" className="btn btn-del">
|
||||
Abmelden
|
||||
|
||||
Reference in New Issue
Block a user