Vous êtes connecté en tant que anonymous Se Deconnecter
application/traitements/authentification-callback-example.php
8640b6e0
 <?php
 /**
  * A simple example that shows how to use multiple providers, opening provider authentication in a pop-up.
  */
 
ee2d7d73
 use MVC\Classe\Dumper;
8640b6e0
 
 require CONFIG_PATH . DIRECTORY_SEPARATOR . "authentification-config-example.php";
 
 try {
 
     $hybridauth = new Hybridauth\Hybridauth($config);
     $storage = new Hybridauth\Storage\Session();
     $error = false;
 
     //
     // Event 1: User clicked SIGN-IN link
     //
     if (isset($url_params['provider'])) {
         // Validate provider exists in the $config
         if (in_array($url_params['provider'], $hybridauth->getProviders())) {
             // Store the provider for the callback event
ee2d7d73
             $storage->set('provider', $url_params['provider']);
8640b6e0
         } else {
ee2d7d73
             $error = $url_params['provider'];
8640b6e0
         }
     }
 
     //
     // Event 2: User clicked LOGOUT link
     //
     if (isset($url_params['logout'])) {
         if (in_array($url_params['logout'], $hybridauth->getProviders())) {
             // Disconnect the adapter
             $adapter = $hybridauth->getAdapter($url_params['logout']);
             $adapter->disconnect();
         } else {
             $error = $url_params['logout'];
         }
     }
 
     //
     // Handle invalid provider errors
     //
ee2d7d73
     if ($error !== false) {
8640b6e0
         error_log('HybridAuth Error: Provider ' . json_encode($error) . ' not found or not enabled in $config');
         // Close the pop-up window
         echo "
             <script>
                 window.opener.location.reload();
                 window.close();
             </script>";
         exit;
     }
 
     //
     // Event 3: Provider returns via CALLBACK
     //
ee2d7d73
     if ($url_params['provider'] = $storage->get('provider')) {
8640b6e0
 
ee2d7d73
         $hybridauth->authenticate($url_params['provider']);
 
         die('OK!');
8640b6e0
         $storage->set('provider', null);
 
         // Retrieve the provider record
ee2d7d73
         $adapter = $hybridauth->getAdapter($url_params['provider']);
 
         Dumper::dump($adapter->getUserProfile());
         Dumper::dump($adapter->getAccessToken());
 
 
         \MVC\Classe\Session::start();
         \MVC\Classe\Session::setUserProfile($adapter->getUserProfile());
         \MVC\Classe\Session::setToken($adapter->getAccessToken());
8640b6e0
 
         // Close pop-up window
ee2d7d73
         echo <<<EOD
 
8640b6e0
             <script>
ee2d7d73
                 window.opener.location.assign('compte');
                 self.close();
             </script>
 EOD;
8640b6e0
 
     }
 
 } catch (Exception $e) {
     error_log($e->getMessage());
     echo $e->getMessage();
 }