コード例 #1
0
 /** @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;
 }
コード例 #2
0
 protected function createComponentGoogleLogin()
 {
     return $this->google->createLoginDialog();
 }