pingpong / facebook
为 Laravel 框架提供的 Facebook OAuth v4
2.0.1
2015-04-30 04:20 UTC
Requires
- php: >=5.4.0
- facebook/php-sdk-v4: ~4.0
- guzzlehttp/guzzle: ~5.2
- illuminate/config: 5.0.*
- illuminate/routing: 5.0.*
- illuminate/session: 5.0.*
- illuminate/support: 5.0.*
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.1
This package is not auto-updated.
Last update: 2024-09-14 15:11:18 UTC
README
服务器要求
此包需要 PHP 5.4 或更高版本。
安装
对于 Laravel 4,请使用版本
1.*
。
打开您的 composer.json 文件,并添加新的所需包。
"pingpong/facebook": "~2.0"
然后,打开终端并运行。
composer update
然后,在 app/config/app.php
中添加新的服务提供者。
'Pingpong\Facebook\FacebookServiceProvider',
然后,在 app/config/app.php
中添加新的别名。
'Facebook' => 'Pingpong\Facebook\Facades\Facebook',
然后,发布配置。
php artisan vendor:publish --provider="Pingpong\Facebook\FacebookServiceProvider"
完成。
用法
首先,您必须在配置文件中设置 app_id 和 app_secret。您还可以设置默认作用域和重定向 URL。
return array( 'app_id' => '', 'app_secret' => '', 'redirect_url' => url('facebook/callback'), 'scope' => array( 'publish_actions', 'email' ) );
获取 Facebook 登录 URL。
Facebook::getLoginUrl();
您还可以更新作用域。
$scope = array('email'); Facebook::getLoginUrl($scope);
验证用户并获取权限。这将自动将用户重定向到 Facebook 登录 URL。
Facebook::authenticate();
如果您想更新/覆盖作用域,可以在第一个参数中添加作用域。
$scope = array('email'); Facebook::authenticate($scope);
您还可以设置想要使用的 Facebook API 版本。
$version = 'the-version'; $scope = array('email'); Facebook::authenticate($scope, $version);
默认情况下,当您使用 OAuth 登录 Facebook 时,它将显示网站版本的登录页面。如果您想使用 popup
版本,请调用 displayAsPopup
方法。
Facebook::displayAsPopup(); return Facebook::authenticate($scope, $version);
获取当前登录用户的用户资料。
Facebook::getProfile();
获取重定向回调。如果身份验证成功,则返回值为 true,否则返回 false。
Facebook::getCallback();
注销当前活动的用户。
Facebook::destroy(); // or Facebook::logout();
调用 Facebook API。
Facebook::api($method, $path, $parameters, $version); Facebook::api('GET', '/me'); Facebook::api('POST', '/me/feed', $parameters); Facebook::api('PUT', '/path', $parameters); Facebook::api('PATCH', '/path', $parameters); Facebook::api('DELETE', '/path/to', $parameters);
调用 Facebook API 的辅助方法。
GET 请求
Facebook::get('/path', $parameters);
POST 请求
Facebook::post('/path', $parameters);
PUT 请求
Facebook::put('/path', $parameters);
PATCH 请求
Facebook::patch('/me', $parameters);
DELETE 请求
Facebook::delete('/me', $parameters);
示例
身份验证和授权
Route::group(['prefix' => 'facebook'], function () { Route::get('connect', function () { return Facebook::authenticate(); }); Route::get('callback', function () { $callback = Facebook::getCallback(); if($callback) { $profile = Facebook::getProfile(); dd($profile); } dd($callback); }); });
许可证
此包是开源软件,根据 BSD 3-Clause 许可证 许可。