Adapter capabilities
| User authentication | YES |
| User profile | YES |
| User contacts list | YES |
| User feed news | YES |
| Post page wall | YES |
| Access provider API | YES |
Adapter specifications
| ID | |
| Protocol | OAuth 2 |
| IDp URL | http://www.facebook.com/ |
| Keys registeration | https://developers.facebook.com/apps |
| Dev documentation | http://developers.facebook.com/ |
| Based on | Facebook PHP SDK https://github.com/facebook/php-graph-sdk |
| Since | HybridAuth 1.0.1 |
| Wrapper | ./Hybrid/Providers/Facebook.php |
| Callback URL | http://mywebsite.com/path_to_hybridauth/?hauth_done=Facebook |
Requirements
- PHP 5.4 or greater
- Composer (optional)
Installation
Hybridauth can be installed with Composer. Run this command:
composer require hybridauth/hybridauth
However, there are other ways to install hybridauth library:
- If you clone hybridauth library and then run composer install:
- Composer will download facebook/graph-sdk library and generate a vendor/autoload.php file.
- Hybridauth will include this file and start using the classes that library provides.
- If you clone hybridauth library without composer installation (not recommended):
- You need to download https://github.com/facebook/php-graph-sdk and put it under /Hybrid/thirdparty/ directory.
- Make sure that /Hybrid/thirdparty/Facebook/autoload.php exists.
- Hybridauth will include this file and start using the classes that library provides.
Configuration & Usage
<?php
$config = array(
"base_url" => "http://mywebsite.com/path/to/hybridauth/",
"providers" => array (
"Facebook" => array (
"enabled" => true,
"keys" => array ( "id" => "PUT_YOURS_HERE", "secret" => "PUT_YOURS_HERE" ),
"scope" => ['email', 'user_about_me', 'user_birthday', 'user_hometown'], // optional
"photo_size" => 200, // optional
)));
require_once( "/path/to/hybridauth/Hybrid/Auth.php" );
$hybridauth = new Hybrid_Auth( $config );
$adapter = $hybridauth->authenticate( "Facebook" );
$user_profile = $adapter->getUserProfile();
For Facebook you can configure several extra options:
scope: An array (or comma-separated list) of permissions you want to request from the user. See the Facebook docs for a full list of available permissions: https://developers.facebook.com/docs/facebook-login/permissions .
Default:scope = email, public_profilephoto_size: The width and height of user picture in pixels. Default:photo_size = 150
Registering application
This is outdated and should only be used as a general guide.
- Go to https://developers.facebook.com/apps and create a new application by clicking "Create New App".
- Fill out any required fields such as the application name and description.
- Put your website domain in the Site Url field.
- Once you have registered, copy and past the created application credentials (App ID and Secret) into the HybridAuth config file.
- You also need to add a valid Oauth redirect URI (https://developers.facebook.com/docs/facebook-login/security/). This should be the social login callback url of your website (ie. http://mywebsite.com/path_to_hybridauth/?hauth_done=Facebook). NOTE: The underscore (_) in the callback url. Other HybridAuth callbacks use 'hauth.done', but the Oauth client in the Facebook SDK doesn't accept this.


