Call to a member function set_userdata() on a non-object, Codeigniter OAuth2
codeigniter, oauth-2.0, php
Solution
It seems like the session library has not been loaded. Try adding this near the top of your function
$this->load->library('session');
You could also have the library autoload by adding it to your `application/config/autoload.php` file
Problem
I am trying to use philsturgeon's OATH2 spark for CodeIgniter to authenticate a user using Facebook. I installed the Spark and tried the Usage Example tha he gives in the github. In the following code I only changed the id and 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); } } } } ``` But when I am trying to call the controller using ``` http://localhost/tddd27/index.php/auth/session/facebook ``` I get the following: ``` 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 on line 117 Is something wrong in the library or I am doing something wrong?