2
philsturgeon's OATH2 spark for CodeIgniter을 사용하여 사용자를 Facebook을 사용하여 인증하려고합니다. Spark를 설치하고 github에서 제공하는 Usage Example을 시도했습니다.비 객체, Codeigniter OAuth2에 대한 멤버 함수 set_userdata() 호출
다음 코드에서 이드와 암호 만 변경했습니다.
<?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);
}
}
}
}
하지만
http://localhost/tddd27/index.php/auth/session/facebook
내가 다음 수를 사용하여 컨트롤러를 호출하려고 할 때 :
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 \ 스파크 \ oauth2-0.4 .0 \ libraries \ Provider.php on line 117
라이브러리에 이상이 있습니까? 아니면 잘못된 것입니까?
당신이 참에 추가하여 기능
또한 라이브러리 자동로드를 가질 수의 상단이 추가보십시오. 그게 문제 였어. –