CluPilotCloud/app
nexxo a5db914696 Key the password-confirmation marker by guard and identity
confirmPassword() already checked the right account per guard, but the
session marker it stamped, auth.password_confirmed_at, was one flat
key shared by every guard. In shared-host mode the portal and console
guards keep their login in the same session, so confirming a
customer's portal password left the marker in place for an
operator-only gate too. One private method now computes the key for
all three callers so they cannot drift apart again.
2026-07-28 15:00:46 +02:00
..
Actions Refuse a portal login for an address that already belongs to an operator 2026-07-28 14:42:16 +02:00
Console Write down that the console and the portal share no identity 2026-07-28 12:15:13 +02:00
Exceptions Refuse a portal login for an address that already belongs to an operator 2026-07-28 14:42:16 +02:00
Http Stop a disabled operator from bypassing the hidden-site gate 2026-07-28 14:42:29 +02:00
Livewire Key the password-confirmation marker by guard and identity 2026-07-28 15:00:46 +02:00
Mail Stop demanding a cipher, a real port, or a decrypted password a mailbox never uses 2026-07-28 06:21:28 +02:00
Models Refuse a portal login for an address that already belongs to an operator 2026-07-28 14:42:16 +02:00
Notifications Pin CloudReady's null-mailbox guard and share it with the trait 2026-07-27 23:59:05 +02:00
Policies Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
Providers Stop the console serving the portal's sign-in page 2026-07-28 11:45:34 +02:00
Provisioning Measure availability, and let a customer move down again 2026-07-27 16:41:15 +02:00
Services Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
Support Give the mailboxes a page, and the support sender its own capability 2026-07-28 01:57:11 +02:00