Jarves\Controller\Admin\AdminController::loginUserAction PHP Method

loginUserAction() public method

public loginUserAction ( FOS\RestBundle\Request\ParamFetcher $paramFetcher, Request $request ) : array | boolean
$paramFetcher FOS\RestBundle\Request\ParamFetcher
$request Symfony\Component\HttpFoundation\Request
return array | boolean Returns false on failure or a array if successful.
    public function loginUserAction(ParamFetcher $paramFetcher, Request $request)
    {
        $username = $paramFetcher->get('username');
        $password = $paramFetcher->get('password');
        $user = $this->userProvider->loadUserByUsername($username);
        if (!$user) {
            $this->logger->warning(sprintf('Login failed for "%s". User not found', $username));
            sleep(1);
            return false;
        }
        $encoder = $this->encoderFactory->getEncoder($user);
        if (!$encoder->isPasswordValid($user->getPassword(), $password, null)) {
            $this->logger->warning(sprintf('Login failed for "%s". Password missmatch ', $username));
            sleep(1);
            return false;
        }
        $token = new UsernamePasswordToken($user, null, "main", $user->getGroupRoles());
        $this->tokenStorage->setToken($token);
        //now dispatch the login event
        $event = new InteractiveLoginEvent($request, $token);
        $this->get("event_dispatcher")->dispatch("security.interactive_login", $event);
        return array('userId' => $user->getId(), 'username' => $user->getUsername(), 'lastLogin' => $user->getLastLogin(), 'access' => $this->acl->check(ACLRequest::create('jarves/entryPoint', ['path' => '/admin'])), 'firstName' => $user->getFirstName(), 'lastName' => $user->getLastName(), 'imagePath' => $user->getImagePath());
    }