@@ -17,11 +17,9 @@ class ImpersonatableSessionGuard extends BaseSessionGuard implements Impersonata
1717{
1818 protected ?AuthenticatableContract $ originalUser = null ;
1919
20- protected bool $ impersonated = false ;
21-
2220 public function impersonate (AuthenticatableContract $ user ): void
2321 {
24- $ originalUser = $ this ->impersonated ? $ this ->originalUser () : $ this ->user ();
22+ $ originalUser = $ this ->impersonated () ? $ this ->originalUser () : $ this ->user ();
2523
2624 $ this ->updateImpersonateSession ($ originalUser ?->getAuthIdentifier());
2725
@@ -34,7 +32,7 @@ public function impersonate(AuthenticatableContract $user): void
3432
3533 public function onceImpersonate (AuthenticatableContract $ user ): void
3634 {
37- $ originalUser = $ this ->impersonated ? $ this ->originalUser () : $ this ->user ();
35+ $ originalUser = $ this ->impersonated () ? $ this ->originalUser () : $ this ->user ();
3836
3937 $ this ->setOriginalUser ($ originalUser );
4038
@@ -57,8 +55,6 @@ public function exitImpersonation(): void
5755 $ this ->fireExitImpersonationEvent (user: $ impersonatedUser , originalUser: $ originalUser );
5856
5957 $ this ->originalUser = null ;
60-
61- $ this ->impersonated = false ;
6258 }
6359
6460 protected function updateImpersonateSession (mixed $ id ): void
@@ -72,8 +68,6 @@ public function setOriginalUser(?AuthenticatableContract $originalUser): static
7268 {
7369 $ this ->originalUser = $ originalUser ;
7470
75- $ this ->impersonated = true ;
76-
7771 if ($ this ->originalUser ) {
7872 $ this ->fireImpersonatedEvent (originalUser: $ this ->originalUser );
7973 }
@@ -83,14 +77,14 @@ public function setOriginalUser(?AuthenticatableContract $originalUser): static
8377
8478 public function originalUser (): ?AuthenticatableContract
8579 {
86- if (! $ this ->impersonated ) {
87- return null ;
88- }
89-
9080 if (! is_null ($ this ->originalUser )) {
9181 return $ this ->originalUser ;
9282 }
9383
84+ if (! $ this ->impersonated ()) {
85+ return null ;
86+ }
87+
9488 $ id = $ this ->session ->get ($ this ->getOriginalUserName ());
9589
9690 if (! is_null ($ id ) && $ this ->originalUser = $ this ->getProvider ()->retrieveById ($ id )) {
@@ -102,7 +96,7 @@ public function originalUser(): ?AuthenticatableContract
10296
10397 public function impersonated (): bool
10498 {
105- return $ this ->impersonated ;
99+ return $ this ->session -> exists ( $ this -> getOriginalUserName ()) ;
106100 }
107101
108102 /**
0 commit comments