76 lines
2.0 KiB
PHP
76 lines
2.0 KiB
PHP
<?php
|
|
/*!
|
|
* Details how to use users in a similar fashion to Hybridauth 2. Note that while Hybridauth 3 provides
|
|
* a similar interface to Hybridauth 2, both versions are not fully compatible with each other.
|
|
*/
|
|
|
|
include '../src/autoload.php';
|
|
|
|
use Hybridauth\Hybridauth;
|
|
use Hybridauth\HttpClient;
|
|
|
|
$config = [
|
|
'callback' => HttpClient\Util::getCurrentUrl(),
|
|
|
|
'providers' => [
|
|
'GitHub' => [
|
|
'enabled' => true,
|
|
'keys' => ['id' => '', 'secret' => ''],
|
|
],
|
|
|
|
'Google' => [
|
|
'enabled' => true,
|
|
'keys' => ['id' => '', 'secret' => ''],
|
|
],
|
|
|
|
'Facebook' => [
|
|
'enabled' => true,
|
|
'keys' => ['id' => '', 'secret' => ''],
|
|
],
|
|
|
|
'Twitter' => [
|
|
'enabled' => true,
|
|
'keys' => ['key' => '', 'secret' => ''],
|
|
]
|
|
],
|
|
|
|
/* optional : set debug mode
|
|
'debug_mode' => true,
|
|
// Path to file writeable by the web server. Required if 'debug_mode' is not false
|
|
'debug_file' => __FILE__ . '.log', */
|
|
|
|
/* optional : customize Curl settings
|
|
// for more information on curl, refer to: http://www.php.net/manual/fr/function.curl-setopt.php
|
|
'curl_options' => [
|
|
// setting custom certificates
|
|
CURLOPT_SSL_VERIFYPEER => true,
|
|
CURLOPT_CAINFO => '/path/to/your/certificate.crt',
|
|
|
|
// set a valid proxy ip address
|
|
CURLOPT_PROXY => '*.*.*.*:*',
|
|
|
|
// set a custom user agent
|
|
CURLOPT_USERAGENT => ''
|
|
] */
|
|
];
|
|
|
|
try {
|
|
$hybridauth = new Hybridauth($config);
|
|
|
|
$adapter = $hybridauth->authenticate('GitHub');
|
|
|
|
// $adapter = $hybridauth->authenticate('Google');
|
|
// $adapter = $hybridauth->authenticate('Facebook');
|
|
// $adapter = $hybridauth->authenticate('Twitter');
|
|
|
|
$tokens = $adapter->getAccessToken();
|
|
$userProfile = $adapter->getUserProfile();
|
|
|
|
// print_r($tokens);
|
|
// print_r($userProfile);
|
|
|
|
$adapter->disconnect();
|
|
} catch (\Exception $e) {
|
|
echo $e->getMessage();
|
|
}
|