Commit Graph

4 Commits (21b7aaca42d89455f1e5abc20bfcd90e617d73e7)

Author SHA1 Message Date
nexxo 9c851b28b4 Satisfy Pint on the two new guard-boundary tests
Import the classes instead of referencing them fully-qualified, and
use single quotes where no interpolation or escaping is needed.
2026-07-28 15:10:58 +02:00
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
nexxo 73dec7f685 Prove ConfirmsPassword resolves its guard, not the ambient default
actingAs()/Livewire::actingAs() call Auth::shouldUse(), which made every
existing test for this trait pass identically whether confirmPassword() asked
for the right guard explicitly or just read whichever guard happened to be
default — reverting the explicit guard() call to a bare auth()->user() passed
the full suite. This test signs the operator in without actingAs and
deliberately decouples the ambient default guard from their session before
calling confirmPassword(), so only the explicit resolution can succeed.
2026-07-28 11:54:13 +02:00
nexxo 513cadc5ce Confirm a console password against the console's own record 2026-07-28 11:17:34 +02:00