Oauth 2.0 设置laravel-oauth2(facebook登录)时出错
我正在尝试为Laravel 4设置oauth2身份验证系统(特别是Facebook),如下所示: 我有一个控制器,Oauth2Controller.php,它控制这个。我正在尝试将包中必要的文件包括到我的控制器中。按照该存储库的示例,我使用:Oauth 2.0 设置laravel-oauth2(facebook登录)时出错,oauth-2.0,laravel,laravel-4,Oauth 2.0,Laravel,Laravel 4,我正在尝试为Laravel 4设置oauth2身份验证系统(特别是Facebook),如下所示: 我有一个控制器,Oauth2Controller.php,它控制这个。我正在尝试将包中必要的文件包括到我的控制器中。按照该存储库的示例,我使用: use OAuth2\OAuth2; use OAuth2\Token_Access; use OAuth2\Exception as OAuth2_Exception; 但是,当我运行页面时,它会为这些行抛出一个错误。说: Symfony \ Comp
use OAuth2\OAuth2;
use OAuth2\Token_Access;
use OAuth2\Exception as OAuth2_Exception;
但是,当我运行页面时,它会为这些行抛出一个错误。说:
Symfony \ Component \ Debug \ Exception \ FatalErrorException
syntax error, unexpected 'as' (T_AS), expecting ',' or ';' or '{'
它直接引用第三行:使用OAuth2\Exception作为OAuth2\u异常
我不知道它为什么抛出这个错误
以下是我的控制器的完整代码:
<?php
class Oauth2Controller extends BaseController
{
use OAuth2\OAuth2;
use OAuth2\Token_Access;
use OAuth2\Exception as OAuth2_Exception;
public function getIndex($provider) {
$provider = OAuth2::provider($provider, array(
'id' => '**************',
'secret' => '******************',
));
if(! isset($_GET['code'])) {
return $provider->authorize();
}
else
{
// Howzit?
try
{
$params = $provider->access($_GET['code']);
$token = new Token_Access(array(
'access_token' => $params->access_token
));
$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>";
var_dump($user);
}
catch (OAuth2_Exception $e)
{
show_error('That didnt work: '.$e);
}
}
}
}
感谢您的帮助和见解 我从未在控制器的定义中看到
使用
子句(至少在本文中是这样)
试着把这三个从句放在class
上面。需要导入名称空间以便在类中使用的名称空间:
使用;
用作{a_类}
...
类。。。{
Route::get('oauth/{provider}', 'Oauth2Controller@getIndex');
use <class>;
use <class> as {a_class}
...
class <name> ... {