Avr*_*dis 2 php codeigniter oauth-2.0
我正在尝试使用philsturgeon的OATH2 spark为CodeIgniter使用Facebook验证用户身份.我安装了Spark并尝试了他在github中提供的用法示例.
在下面的代码中,我只更改了id和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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我试图使用控制器调用时
http://localhost/tddd27/index.php/auth/session/facebook
Run Code Online (Sandbox Code Playgroud)
我得到以下内容:
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
Run Code Online (Sandbox Code Playgroud)
第117行的C:\ xampp\htdocs\tddd27\sparks\oauth2-0.4.0\libraries\Provider.php
图书馆出了什么问题,或者我做错了什么?
Din*_*ing 10
似乎尚未加载会话库.尝试在函数顶部附近添加它
$this->load->library('session');
Run Code Online (Sandbox Code Playgroud)
您也可以通过将库添加到您的application/config/autoload.php文件来自动加载库
| 归档时间: |
|
| 查看次数: |
16171 次 |
| 最近记录: |