Pagekit\User\Controller\AuthController::authenticateAction PHP Method

authenticateAction() public method

public authenticateAction ( $credentials, $remember = false, $redirect = '' )
    public function authenticateAction($credentials, $remember = false, $redirect = '')
    {
        try {
            if (!App::csrf()->validate()) {
                throw new CsrfException(__('Invalid token. Please try again.'));
            }
            App::auth()->authorize($user = App::auth()->authenticate($credentials, false));
            if (($event = App::auth()->login($user, $remember)) && $event->hasResponse()) {
                return $event->getResponse();
            }
            if (App::request()->isXmlHttpRequest()) {
                return App::response()->json(['csrf' => App::csrf()->generate()]);
            } else {
                return App::redirect(preg_replace('#(https?:)?//[^/]+#', '', $redirect));
            }
        } catch (CsrfException $e) {
            if (App::request()->isXmlHttpRequest()) {
                return App::response()->json(['csrf' => App::csrf()->generate()], 401);
            }
            $error = $e->getMessage();
        } catch (BadCredentialsException $e) {
            $error = __('Invalid username or password.');
        } catch (AuthException $e) {
            $error = $e->getMessage();
        }
        if (App::request()->isXmlHttpRequest()) {
            App::abort(401, $error);
        } else {
            App::message()->error($error);
            return App::redirect(preg_replace('#(https?:)?//[^/]+#', '', App::url()->previous()));
        }
    }