$client_id = 7157110; // ID приложения
$client_secret = 'ESlBJHmVMbeh8IVLiBDv'; // Защищённый ключ
$redirect_uri = 'http://royera.ru/auth.php'; // Адрес сайта
$url = 'http://oauth.vk.com/authorize'; // Ссылка для авторизации на стороне ВК
$params = [ 'client_id' => $client_id, 'redirect_uri' => $redirect_uri, 'response_type' => 'code']; // Массив данных, который нужно передать для ВК содержит ИД приложения код, ссылку для редиректа и запрос code для дальнейшей авторизации токеном
echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';
if (isset($_GET['code'])) {
$result = true;
$params = [
'client_id' => $client_id,
'client_secret' => $client_secret,
'code' => $_GET['code'],
'redirect_uri' => $redirect_uri
];
$token = json_decode(file_get_contents('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);
if (isset($token['access_token'])) {
$params = [
'uids' => $token['user_id'],
'fields' => 'uid,first_name,last_name,screen_name,sex,bdate,photo_big',
'access_token' => $token['access_token'],
'v' => '5.101'];
$userInfo = json_decode(file_get_contents('https://api.vk.com/method/users.get' . '?' . urldecode(http_build_query($params))), true);
if (isset($userInfo['response'][0]['id'])) {
$userInfo = $userInfo['response'][0];
$result = true;
}
}
if ($result) {
echo "ID пользователя: " . $userInfo['id'] . '<br />';
echo "Имя пользователя: " . $userInfo['first_name'] . '<br />';
echo "Ссылка на профиль: " . $userInfo['screen_name'] . '<br />';
echo "Пол: " . $userInfo['sex'] . '<br />';
echo "День Рождения: " . $userInfo['bdate'] . '<br />';
echo '<img src="' . $userInfo['photo_big'] . '" />'; echo "<br />";
}
}
$params = [
'client_id' => $client_id,
'client_secret' => $client_secret,
'code' => $_GET['code'],
'redirect_uri' => $redirect_uri
];
$_SESSION['id'] = $userInfo['id'];
if(empty($_SESSION['id'])) {
echo "Вы уже авторизованы";
} else {
echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';
}
<?php
$client_id = 7157110; // ID приложения
$client_secret = 'ESlBJHmVMbeh8IVLiBDv'; // Защищённый ключ
$redirect_uri = 'http://royera.ru/auth.php'; // Адрес сайта
$url = 'http://oauth.vk.com/authorize'; // Ссылка для авторизации на стороне ВК
$params = [ 'client_id' => $client_id, 'redirect_uri' => $redirect_uri, 'response_type' => 'code']; // Массив данных, который нужно передать для ВК содержит ИД приложения код, ссылку для редиректа и запрос code для дальнейшей авторизации токеном
if(empty($_SESSION['id'])) {
echo "Вы уже авторизованы";
} else {
echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';
}
if (isset($_GET['code'])) {
$result = true;
$params = [
'client_id' => $client_id,
'client_secret' => $client_secret,
'code' => $_GET['code'],
'redirect_uri' => $redirect_uri
];
$token = json_decode(file_get_contents('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);
if (isset($token['access_token'])) {
$params = [
'uids' => $token['user_id'],
'fields' => 'uid,first_name,last_name,screen_name,sex,bdate,photo_big',
'access_token' => $token['access_token'],
'v' => '5.101'];
$userInfo = json_decode(file_get_contents('https://api.vk.com/method/users.get' . '?' . urldecode(http_build_query($params))), true);
if (isset($userInfo['response'][0]['id'])) {
$userInfo = $userInfo['response'][0];
$result = true;
}
}
if ($result) {
echo "ID пользователя: " . $userInfo['id'] . '<br />';
echo "Имя пользователя: " . $userInfo['first_name'] . '<br />';
echo "Ссылка на профиль: " . $userInfo['screen_name'] . '<br />';
echo "Пол: " . $userInfo['sex'] . '<br />';
echo "День Рождения: " . $userInfo['bdate'] . '<br />';
echo '<img src="' . $userInfo['photo_big'] . '" />'; echo "<br />";
}
}
$_SESSION['id'] = $userInfo['id'];
Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter