/** @return GoogleLoginDialog */ protected function createComponentGoogleLogin() { /** @var GoogleLoginDialog $dialog */ $dialog = $this->google->createLoginDialog(); $presenter = $this; $dialog->onResponse[] = function (GoogleLoginDialog $dialog) use($presenter) { $google = $dialog->getGoogle(); if (!($google->getUser() && $google->getProfile())) { $presenter->flashMessageLoginFailed('Google'); return; } try { $googleUser = $google->getUser(); $googleProfile = $google->getProfile(); $presenter->getUser()->login($presenter->usersFacade->authenticateUserFromGoogle($googleUser, $googleProfile)); $presenter->flashMessageLoginSuccess('Google'); $presenter->finalRedirect(); } catch (\Google_Exception $e) { $presenter->flashMessageLoginFailed('Google'); } $presenter->redirect('login'); }; return $dialog; }
protected function createComponentGoogleLogin() { return $this->google->createLoginDialog(); }