Facebook oauth rest api Перенаправить URI с OpenCart

Я должен осуществить авторизацию через Google и Facebook на сайте OpenCart. У меня нет проблем с Google Rest API, но некоторые с Facebook.
Итак, метод oauth rest api довольно прост.

<?php
$client_id = APP_ID; // Client ID
$client_secret = APP_SECRET; // Client secret
$redirect_uri = 'https://example.com/facebook-login/index.php'; // Redirect URIs

$url = 'https://www.facebook.com/v2.9/dialog/oauth';

$params = array(
'client_id'     => $client_id,
'redirect_uri'  => $redirect_uri,
'response_type' => 'code',
'scope'         => 'email'
);

if (isset($_GET['code'])) {

$params = array(
'client_id'     => $client_id,
'redirect_uri'  => $redirect_uri,
'client_secret' => $client_secret,
'code'          => $_GET['code']
);

$url = 'https://graph.facebook.com/oauth/access_token';

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, urldecode(http_build_query($params)));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curl);
curl_close($curl);
$tokenInfo = json_decode($result, true);

echo '<pre>';
print_r($tokenInfo);
echo '</pre>';

if (count($tokenInfo) > 0 && isset($tokenInfo['access_token'])) {
$params = array('access_token' => $tokenInfo['access_token']);
$params = array(
'fields' => 'id,name,email',
'access_token' => $tokenInfo['access_token']
);

$userInfo = json_decode(file_get_contents('https://graph.facebook.com/me' . '?' . urldecode(http_build_query($params))), true);

if (isset($userInfo['id'])) {
echo '<pre>';
print_r($userInfo);
echo '</pre>';
}
}

} else {

$loginUrl = $url . '?' . urldecode(http_build_query($params));
header('Location: ' . filter_var($loginUrl, FILTER_SANITIZE_URL));
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector