mirror of
https://github.com/flarum/core.git
synced 2025-08-24 09:03:05 +02:00
Remember checkbox (#1075)
* Add session option to Rememberer class * Update session login function to allow send additional data * Add Remember me checkbox * Cleanup login modal
This commit is contained in:
committed by
Toby Zerner
parent
7af4b8d45f
commit
06c32b668d
@@ -66,7 +66,8 @@ class LogInController implements ControllerInterface
|
||||
public function handle(Request $request)
|
||||
{
|
||||
$actor = $request->getAttribute('actor');
|
||||
$params = array_only($request->getParsedBody(), ['identification', 'password']);
|
||||
$body = $request->getParsedBody();
|
||||
$params = array_only($body, ['identification', 'password']);
|
||||
|
||||
$response = $this->apiClient->send(TokenController::class, $actor, [], $params);
|
||||
|
||||
@@ -80,7 +81,7 @@ class LogInController implements ControllerInterface
|
||||
|
||||
event(new UserLoggedIn($this->users->findOrFail($data->userId), $token));
|
||||
|
||||
$response = $this->rememberer->remember($response, $token);
|
||||
$response = $this->rememberer->remember($response, $token, ! array_get($body, 'remember'));
|
||||
}
|
||||
|
||||
return $response;
|
||||
|
@@ -19,17 +19,20 @@ class Rememberer
|
||||
{
|
||||
protected $cookieName = 'flarum_remember';
|
||||
|
||||
public function remember(ResponseInterface $response, AccessToken $token)
|
||||
public function remember(ResponseInterface $response, AccessToken $token, $session = false)
|
||||
{
|
||||
$token->lifetime = 60 * 60 * 24 * 14;
|
||||
$token->save();
|
||||
$cookie = $this->createCookie()->withValue($token->id);
|
||||
|
||||
return FigResponseCookies::set(
|
||||
$response,
|
||||
$this->createCookie()
|
||||
->withValue($token->id)
|
||||
->withMaxAge(14 * 24 * 60 * 60)
|
||||
);
|
||||
if (! $session) {
|
||||
$lifetime = 60 * 60 * 24 * 14;
|
||||
|
||||
$token->lifetime = $lifetime;
|
||||
$token->save();
|
||||
|
||||
$cookie = $cookie->withMaxAge($lifetime);
|
||||
}
|
||||
|
||||
return FigResponseCookies::set($response, $cookie);
|
||||
}
|
||||
|
||||
public function rememberUser(ResponseInterface $response, $userId)
|
||||
|
Reference in New Issue
Block a user