В вк теперь берется максимально возможная аватарка (и уже потом создаются пресеты в профиль).
Поправлен баг, когда при повторной авторизации пользователь попадал на страницу, которая указана в настройках для новых пользователей.
Обновляю страницу по приложениям и выпущу обновление.
Все купившие получат обновление на почту.
Эта ошибка в каком случае появляется? Пользователь в базу не попадает же в таком случае?
Эта ошибка в каком случае появляется?
Ошибка получается в момент получения данных о пользователе. Но я даже представить не могу ситуацию, в которой пользователь дал согласие на доступ нашему приложению в вк и за секунду отозвал токен… Например, сменив пароль, или разлогинившись…
Название будет "Mail.ru Auth". Адрес главной страницы — это тот url адрес страницы, где будет внедрён основной функционал: localhost/mailru-auth. Таким образом, на локальном сервере поместим наши файлы в каталог "mailru-auth".
Далее нажимаем на кнопку "Продолжить" и переходим к следующему шагу. На третьем шаге необходимо скачать файл receiver.html, поместить его в каталог вашего проекта и дать Mail.ru возможность проверить существование данного файла. Поскольку наш пример предназначен для работы на локальном сервере, то мы этого делать не будем. Просто нажимаем кнопку "Продолжить", и на следующей странице "Пропустить". Если же вы создаёте пример для приложения работающего на каком-то реальном сервере, то сначала пройдите процедуру проверки наличия файла receiver.html, иначе функциональность вашего примера может быть ограничена.
Итак, после успешного добавления сайта в сервис Mail.ru, нам должно выдастся следующее сообщение со специальными параметрами:
А ниже пример получения данных о пользователе (код нужно вставить в файл php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> <title>Аутентификация через Mail.ru</title> </head> <body> <?php $client_id = '702253'; // ID $client_secret = '81fefec83a3ff8903af3fc4ae7bcc18e'; // Секретный ключ $redirect_uri = 'http://localhost/mailru-auth'; // Ссылка на приложение $url = 'https://connect.mail.ru/oauth/authorize'; 'client_id' => $client_id, 'response_type' => 'code', 'redirect_uri' => $redirect_uri ); echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через Mail.ru</a></p>'; $result = false; 'client_id' => $client_id, 'client_secret' => $client_secret, 'grant_type' => 'authorization_code', 'code' => $_GET['code'], 'redirect_uri' => $redirect_uri ); $url = 'https://connect.mail.ru/oauth/token'; $sign = md5("app_id={$client_id}method=users.getInfosecure=1session_key={$tokenInfo['access_token']}{$client_secret}"); 'method' => 'users.getInfo', 'secure' => '1', 'app_id' => $client_id, 'session_key' => $tokenInfo['access_token'], 'sig' => $sign ); $userInfo = json_decode(file_get_contents('http://www.appsmail.ru/platform/api' . '?' . urldecode(http_build_query($params))), true); $result = true; } } if ($result) { echo "Социальный ID пользователя: " . $userInfo['uid'] . '<br />'; echo "Имя пользователя: " . $userInfo['nick'] . '<br />'; echo "Email: " . $userInfo['email'] . '<br />'; echo "Ссылка на профиль пользователя: " . $userInfo['link'] . '<br />'; echo "Пол пользователя: " . $userInfo['sex'] . '<br />'; echo "День Рождения: " . $userInfo['birthday'] . '<br />'; echo '<img src="' . $userInfo['pic_small'] . '" />'; echo "<br />"; } } ?> </body> </html>
так так можно сказать и об остальных соц. сетях.не могу понять вашего упорного не желания добавить в компонент авторизацию через mail.ru
Потом твиттер, инстаграм.
Просто текущими пятью покрыто 99% населения нашей необъятной.
Спасибо за код. В следующем обновлении будет майл.ру
Это радует. Спасибо. Буду брать.В следующем обновлении будет майл.ру
В понедельник будет обновление инструкций и, скорее всего, обновление.
Если есть желающие, прошу протестировать.
попробовал зарегистрироваться — никаких проблем.
На демо работает вход через mail.ru bergorod.ru/auth/login
Если есть желающие, прошу протестировать.
На демо работает вход через mail.ru bergorod.ru/auth/login
В понедельник будет обновление инструкций и, скорее всего, обновление.
Если есть желающие, прошу протестировать.
Работает.
Но не без нюансов:
— на шаге проверки наличия receiver.html надо нажать пропустить. Какой-то баг, и майл.ру не находит файл. Хотя он 100% есть
— после добавления сайта в Мой.мир зайти в настройки сайта и указать ссылку на receiver.html там
И скорее всего дополнение отправлю только завтра после обеда.
пока никак.как на счёт вынести в Настройки список получаемых прав доступа и сохранения токенов в базу данных
Нет времени подумать над организацией этого, кроме вас таких пожеланий не было. Кроме хранения токенов их надо пересохранять после отзыва и др. В рамках компонента это не нужно.