CluPilotCloud/resources/views/mail
nexxo 7edd88b71c Ein Zugang zur Konsole, dessen Passwort niemand kennt
Bisher erzeugte Settings::inviteStaff() beim Einladen eines
Betreiber-Mitarbeiters ein Passwort und zeigte es dem Inhaber einmal auf dem
Bildschirm, damit er es "sicher weitergibt" -- fuer einen Zugang zur Konsole,
die die ganze Flotte verwaltet. Der Kommentar dort nannte sich selbst eine
Attrappe.

Jetzt geht eine Einladung ohne Passwort hinaus: der Eingeladene bekommt eine
Mail mit einem Link und vergibt sein Passwort selbst, ueber
App\Livewire\Auth\OperatorSetPassword. Niemand -- auch der Inhaber nicht --
kennt je ein fremdes Passwort.

Dafuer brauchte es einen eigenen Weg, den es fuer Betreiber noch nicht gab
(R21: Konsole und Portal teilen keine Identitaet). Ein eigener Broker mit
eigener Tabelle (operator_password_reset_tokens, config/auth.php), eine
eigene Route in der Gast-Gruppe der Konsole (admin.invitation), und
Operator::sendPasswordResetNotification() wirft jetzt, statt Laravels
Vorgabe zu nutzen, die auf die Portalseite verlinkt haette.

Der Einladungslink gilt 72 Stunden -- lang genug fuer ein Wochenende, kurz
genug, dass ein altes Postfach nicht auf Dauer einen Schluessel zur Konsole
haelt. Zwei-Faktor bleibt unberuehrt: die neue Seite meldet niemanden
automatisch an, der Eingeladene durchlaeuft danach die normale Anmeldung
samt ihrer bestehenden Zwei-Faktor-Pruefung. Die Route liegt hinter denselben
Netz- und Hostwaechtern wie der Rest der Konsole (RestrictAdminHost,
RestrictConsoleNetwork), ohne Sonderfall.

OperatorInvitationMail reiht sich in den Versandtakt ein (MailLane::LOCKED,
wie ResetPasswordMail und VerifyEmailMail -- ein Mensch wartet gerade) und
ist damit in der Vorschau- und Versandtakt-Uebersicht der Konsole sichtbar,
statt lautlos in die gedrosselte Spur zu fallen.

Zwei Mutationsproben gegen die tragende Zusicherung durchgefuehrt (Bericht:
.superpowers/sdd/betreiber-einladung-report.md): die erste (durch die
Vorgaengersitzung) hielt fest, dass drei Zusicherungen fallen wuerden, waere
das Konto sofort anmeldbar; die zweite -- das Passwort testweise wieder auf
die Seite gebracht -- faellt exakt an der dafuer gebauten reflektierenden
Pruefung ueber alle oeffentlichen Eigenschaften der Seite.

Suite: 2771 passed (9683 assertions).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 01:50:42 +02:00
..
cloud-ready.blade.php Make mails readable on a phone, and let an operator look at one 2026-07-30 14:50:37 +02:00
cloud-resumed.blade.php Mahnwesen: die sechs Kundenmails 2026-07-31 22:31:04 +02:00
cloud-suspended.blade.php Mahnwesen: die sechs Kundenmails 2026-07-31 22:31:04 +02:00
contact-request.blade.php Anfrage als Seite statt mailto: der Knopf tat auf den meisten Geraeten sichtbar nichts 2026-08-01 18:31:50 +02:00
dormant-warning.blade.php Accept terms instead of a start date, and fix the sender no server accepts 2026-07-30 15:22:35 +02:00
dunning-notice.blade.php Mahnwesen: die sechs Kundenmails 2026-07-31 22:31:04 +02:00
invoice.blade.php Make mails readable on a phone, and let an operator look at one 2026-07-30 14:50:37 +02:00
maintenance-announcement.blade.php Make mails readable on a phone, and let an operator look at one 2026-07-30 14:50:37 +02:00
maintenance-cancelled.blade.php Make mails readable on a phone, and let an operator look at one 2026-07-30 14:50:37 +02:00
new-device.blade.php Make mails readable on a phone, and let an operator look at one 2026-07-30 14:50:37 +02:00
operator-invitation.blade.php Ein Zugang zur Konsole, dessen Passwort niemand kennt 2026-08-04 01:50:42 +02:00
operator-message.blade.php Make mails readable on a phone, and let an operator look at one 2026-07-30 14:50:37 +02:00
order-confirmation.blade.php Make mails readable on a phone, and let an operator look at one 2026-07-30 14:50:37 +02:00
reset-password.blade.php Make mails readable on a phone, and let an operator look at one 2026-07-30 14:50:37 +02:00
security-block.blade.php Zwei Empfaengerkreise, und eine Wegwahl, die auch das Konto verschiebt 2026-08-03 17:00:20 +02:00
verify-email.blade.php Make mails readable on a phone, and let an operator look at one 2026-07-30 14:50:37 +02:00