/** * @param User $user The user to clear auth tokens for. * @return LogoutTemplate Chainable */ private function deleteUserAuthTokens(User $user) { $token = $this->modelFactory()->create(AuthToken::class); if ($token->source()->tableExists()) { $table = $token->source()->table(); $q = 'DELETE FROM ' . $table . ' WHERE username = :username'; $token->source()->dbQuery($q, ['username' => $user->username()]); } return $this; }
/** * @param RequestInterface $request The request. * @param User $u The user. * @return void */ public function setRememberCookie(RequestInterface $request, User $u) { $remember = $request->getParam('remember-me'); if (!$remember) { return; } $authToken = $this->modelFactory()->create('charcoal/admin/object/auth-token'); $authToken->generate($u->username()); $authToken->sendCookie(); $authToken->save(); }