File tree 5 files changed +37
-2
lines changed
Authentication/Authenticators
tests/Authentication/Filters 5 files changed +37
-2
lines changed Original file line number Diff line number Diff line change @@ -237,6 +237,6 @@ public function recordActiveDate(): void
237
237
238
238
$ this ->user ->last_active = Time::now ();
239
239
240
- $ this ->provider ->save ($ this ->user );
240
+ $ this ->provider ->updateActiveDate ($ this ->user );
241
241
}
242
242
}
Original file line number Diff line number Diff line change @@ -830,7 +830,7 @@ public function recordActiveDate(): void
830
830
831
831
$ this ->user ->last_active = Time::now ();
832
832
833
- $ this ->provider ->save ($ this ->user );
833
+ $ this ->provider ->updateActiveDate ($ this ->user );
834
834
}
835
835
836
836
/**
Original file line number Diff line number Diff line change @@ -320,4 +320,14 @@ protected function saveEmailIdentity(array $data): array
320
320
321
321
return $ data ;
322
322
}
323
+
324
+ /**
325
+ * Updates the user's last active date.
326
+ */
327
+ public function updateActiveDate (User $ user ): void
328
+ {
329
+ $ this ->builder ->set ('last_active ' , $ user ->last_active )
330
+ ->where ('id ' , $ user ->id )
331
+ ->update ();
332
+ }
323
333
}
Original file line number Diff line number Diff line change @@ -45,4 +45,16 @@ public function testFilterSuccess(): void
45
45
// Last Active should have been updated
46
46
$ this ->assertNotEmpty (auth ('session ' )->user ()->last_active );
47
47
}
48
+
49
+ public function testRecordActiveDate (): void
50
+ {
51
+ $ user = fake (UserModel::class);
52
+ $ _SESSION ['user ' ]['id ' ] = $ user ->id ;
53
+
54
+ $ this ->withSession (['user ' => ['id ' => $ user ->id ]])
55
+ ->get ('protected-route ' );
56
+
57
+ // Last Active should be greater than 'updated_at' column
58
+ $ this ->assertGreaterThan (auth ('session ' )->user ()->updated_at , auth ('session ' )->user ()->last_active );
59
+ }
48
60
}
Original file line number Diff line number Diff line change @@ -50,4 +50,17 @@ public function testFilterSuccess(): void
50
50
$ this ->assertInstanceOf (AccessToken::class, auth ('tokens ' )->user ()->currentAccessToken ());
51
51
$ this ->assertSame ($ token ->id , auth ('tokens ' )->user ()->currentAccessToken ()->id );
52
52
}
53
+
54
+ public function testRecordActiveDate (): void
55
+ {
56
+ /** @var User $user */
57
+ $ user = fake (UserModel::class);
58
+ $ token = $ user ->generateAccessToken ('foo ' );
59
+
60
+ $ this ->withHeaders (['Authorization ' => 'Bearer ' . $ token ->raw_token ])
61
+ ->get ('protected-route ' );
62
+
63
+ // Last Active should be greater than 'updated_at' column
64
+ $ this ->assertGreaterThan (auth ('tokens ' )->user ()->updated_at , auth ('tokens ' )->user ()->last_active );
65
+ }
53
66
}
You can’t perform that action at this time.
0 commit comments