Appel à une fonction membre set_userdata() sur un non-objet, Codeigniter OAuth2
Je suis en train d'utiliser philsturgeon de OATH2 étincelle pour CodeIgniter pour authentifier un utilisateur à l'aide de Facebook. J'ai installé l'Étincelle et a essayé de l'Exemple d'Utilisation tha qu'il donne dans le github.
Dans le code suivant, j'ai seulement changé l'id et le secret.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Auth extends CI_Controller
{
public function session($provider)
{
$this->load->helper('url_helper');
$this->load->spark('oauth2-0.4.0');
$provider = $this->oauth2->provider($provider, array(
'id' => 'My_ID',
'secret' => 'MY_Secret',
));
if ( ! $this->input->get('code'))
{
//By sending no options it'll come back here
$provider->authorize();
}
else
{
//Howzit?
try
{
$token = $provider->access($_GET['code']);
$user = $provider->get_user_info($token);
//Here you should use this information to A) look for a user B) help a new user sign up with existing data.
//If you store it all in a cookie and redirect to a registration page this is crazy-simple.
echo "<pre>Tokens: ";
var_dump($token);
echo "\n\nUser Info: ";
var_dump($user);
}
catch (OAuth2_Exception $e)
{
show_error('That didnt work: '.$e);
}
}
}
}
Mais lorsque j'essaie d'appeler le contrôleur à l'aide de
http://localhost/tddd27/index.php/auth/session/facebook
Je reçois le texte suivant:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Auth::$session
Filename: libraries/Provider.php
Line Number: 117
Fatal error: Call to a member function set_userdata() on a non-object in
C:\xampp\htdocs\tddd27\sparks\oauth2-0.4.0\libraries\Provider.php sur la ligne 117
Est quelque chose de mal dans la bibliothèque ou je fais quelque chose de mal?
Vous devez vous connecter pour publier un commentaire.
Il semble que la session de bibliothèque n'a pas été chargé. Essayez d'ajouter ce près du haut de votre fonction
Vous pourriez également avoir le bibliothèque autoload en l'ajoutant à votre
application/config/autoload.php
fichier