Уведомлений от Одноклассников и Вконтакте Для я i
Аутентификация через Одноклассники
Сегодня мы продолжим разговор о том, как создать аутентификацию ваших пользователей через социальные сети и сервисы. На этот раз возьмемся за «Одноклассники»!
Если кто пропустил предыдущую часть, то ее можно найти тут:
Заметка. Пример, созданный в данном уроке, предназначен для работы на локальном сервере.
Шаг 1. Регистрация нового приложения
Для работы примера вам нужно будет самим зарегистрировать новое приложение и ввести собственные параметры. Для начала нам необходимо создать новое приложение на сайте социальной сети Одноклассники
На открывшейся странице выбираем вид приложения: «Вне Одноклассников»; тип приложения: «oAuth авторизация».
После этого нам необходимо заполнить следующую форму:
Название будет «Odnoklassniki Auth». Shortname — это тоже название приложения, но только то, что будет отображаться в url адресе: «ondoklassniki-oauth». Ссылка на приложение: http://localhost/odnoklassniki-auth . Таким образом, на локальном сервере нам потребуется создать папку «odnoklassniki-auth» и поместить все рабочие файлы туда.
После добавления нового приложения, вам на электронный почтовый ящик будет отправлено письмо с нужными нам настройками.
Из письма мы можем извлечь такие параметры, как `Application ID`, `Публичный ключ приложения`, `Секретный ключ приложения` и `Ссылка на приложение`. Запишем их в специальные переменные в файле index.php:
Шаг 2. Генерация ссылки для аутентификации
Для генерации ссылки нам потребуется адрес аутентификации и специальные параметры:
С помощью функции http_build_query, передав туда массив параметров, получим чередование ключей и значений, как в url адресе. Итак, генерируем ссылку и выводим на экран:
Также тут я воспользовался функцией urldecode. Если этого не сделать, то в сгенерированной ссылке могут появиться закодированные символы слешей, знаков двоеточия и так далее:
Если же мы пропустим данную строку через функцию urldecode, то получим:
Итак, ссылка для аутентификации готова. Если мы сформировали все параметры правильным образом и получили верный url, то пройдя по ссылке, будем перенаправлены по адресу, указанному в настройках приложения (‘http://localhost/odnoklassniki-auth’). Только теперь к этому адресу будет прикреплен специальный параметр code:
Шаг 3. Получение токена
Начинать процедуру аутентификации мы можем в том случае, если к нам пришел параметр code. Он нам нужен для того, чтобы получить специальный токен доступа, с помощью которого, в дальнейшем, мы достанем информацию о пользователе.
В первую очередь, снова сформируем параметры для этого запроса. Нам потребуется передать параметры: `code` — url параметр, пришедший от одноклассников; `redirect_uri` — страница, на которую будет возвращен пользователь; `grand_type`, равный значению «authorization_code» — код активации; `client_id` — id приложения; `client_secret` — секретный ключ:
Далее нам нужно отправить POST запрос на адрес http://api.odnoklassniki.ru/oauth/token.do, передав перечисленные параметры. В PHP выполнить POST запрос можно с помощью создания curl запроса:
В результате, при успешном выполнении запроса, в переменную $tokenInfo будет записан ответ от Одноклассников в JSON формате. Данная строка содержит 3 параметра: token_session — тип токена; refresh token — маркер обновления информации, access_token, который мы будем использовать в следующих запросах для извлечения информации о пользователе.
Для того чтобы мы далее могли работать с данными параметрами, декодируем JSON строку с помощью функции json_decode, и помещаем данные в массив, передав в качестве второго аргумента true.
Шаг 4. Получение информации о пользователе
Итак, теперь когда у нас есть параметры access_token, мы можем сделать запрос к Одноклассники API и получить информацию о пользователе. Перед тем, как мы подготовим массив с параметрами, которые в последствии превратим в фрагмент url строки, нам нужно сформировать специальную `подпись` запроса $sign с помощью конкатенации двух хэшей md5;
В параметр method записываем название метода API Одноклассников, который вернет нам информацию о пользователе; Далее передаем access_token, публичный ключ ( application_key), формат возвращаемых данных ( format) и подпись запроса ( sig).
Для получения информации о пользователе сформированные параметры нам нужно отправить GET запросом по адресу http://api.odnoklassniki.ru/fb.do:
В результате, если все было сделано правильно, то получим JSON ответ следующего вида:
Снова преобразуем JSON ответ в массив и обратимся к нулевому элементу, хранящемуся в массиве:
Шаг 5. Извлечение информации о пользователе
Теперь извлекать информацию о пользователе мы можем из массива, хранящегося в переменной $userInfo, по ключам uid, name, gender, birthdate, pic_2. Для просмотра большего количества полей загляните в содержание переменной $userInfo:
Шаг 6. И снова дело за вами
Тут все, как и в предыдущем случае. Если у нас есть такая информация, как ID пользователя, в первую очередь, нам необходимо проверить его наличие в нашей базе данных. Если пользователя с таким ID не существует, то значит он авторизовался с нашего сайта впервые, и мы внесем его в базу. Если пользователь уже есть, можем проверить, не изменились ли какие-то данные о нем, например, имя или еще что-то. Если да, обновим запись.
После этого, все что нам осталось сделать, так это создать сессию и поместить в нее информацию о нашем пользователе.
На странице выхода из системы просто удаляем сессию с помощью функции unset .
Вот и все. Теперь в вашей копилке на один рецепт больше, и вы можете порадовать ваших пользователей аутентификацией через социальную сеть «Одноклассники».
P.S. Отдельное спасибо хочу сказать всем, кто отписался в комментариях к предыдущей статье, ну и к этой тоже! В будущем буду стремиться учитывать ваши пожелания и предложения.
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.ruseller.com
Автор: Станислав Протасевич
Урок создан: 13 Марта 2013
Просмотров: 88285
Правила перепечатки
5 последних уроков рубрики «PHP»
Фильтрация данных с помощью zend-filter
Когда речь идет о безопасности веб-сайта, то фраза «фильтруйте все, экранируйте все» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
🗣 логин, адрес почты или телефон пароль
- Mail.ru
- Apple
Одноклассники — вход, моя страница, регистрация, восстановление пароля
На него СМС сообщением придет код для продолжения регистрации в социальной сети Одноклассники.
Одноклассники — Вход без регистрации, логина и пароля
- Фамилию
- Имя
- Дату рождения (ДЕНЬ, МЕСЯЦ, ГОД)
- Пол (Мужской или Женский)
Одноклассники — Регистрация
- логин, адрес почты или телефон
- пароль
- Личные данные (Введите имя, фамилию, возраст и город, указанные в вашем профиле)
- Телефон
- Почта
- Логин
- Ссылка на профиль (username или profile/1234567890)
Одноклассники — Восстановление пароля
Пароль должен состоять не менее чем из 6 знаков латинского алфавита.
Вход осуществляется на официальном сайте социальной сети Одноклассники: https://ok.ru
Открывается новая страница и вам предлагают ввести тот самый номер телефона, на который зарегистрирован ваш профиль. Вводите и нажимаете на большую оранжевую кнопку «Искать».
Как восстановить пароль в Одноклассниках
Поскольку страница каждого пользователя привязана к номеру телефона, нужно выбрать Телефон.
Введите код в строку восстановления пароля и нажмите «Подтвердить».
Вводите и нажимаете на большую оранжевую кнопку Искать.
Нам достаточно часто задают вопросы, касаемо Одноклассников. Среди эти вопрос есть и такой: забыл пароль в Одноклассниках, как восстановить? Процесс восстановления пароля достаточно прост, однако здесь есть свои нюансы. Впрочем, давайте обо все по порядку.
Что бы удалить эти данные, необходимо почистить куки в браузере. Например, для Google Chrome это можно сделать так:
Как удалить логин и пароль при входе в Одноклассники
Куда хуже, когда эти данные сохранились на чужом компьютере и теперь его владелец может смело попасть на вашу страницу.
Наверняка вы уже не раз сталкивались с таким необычным явлением, когда логин или пароль (или все вместе) сохраняется при входе в Одноклассники на главной странице. Если вы пользуетесь компьютером дома, то это не должно доставлять никаких неудобств. Куда хуже, когда эти данные сохранились на чужом компьютере и теперь его владелец может смело попасть на вашу страницу.
Также мы рекомендуем отключить сохранение данных в браузере.
Ну а если браузер все-таки запомнил какие-либо ваши данные, тогда придется воспользоваться удалением куков, как показано выше.
Как посмотреть пароль от Одноклассников на телефоне если забыл
Как узнать логин и пароль ОК
OK ru; вход по логину и паролю
§ Для использования на мобильных устройствах (смартфонах, планшетах) доступны для установки мобильные приложения :
🏫 Вход в в Одноклассники без регистрации, логина и пароля возможен через авторизацию :
Содержание
- 1 Аутентификация через Одноклассники
- 2 Шаг 1. Регистрация нового приложения
- 3 Шаг 2. Генерация ссылки для аутентификации
- 4 Шаг 3. Получение токена
- 5 Шаг 4. Получение информации о пользователе
- 6 Шаг 5. Извлечение информации о пользователе
- 7 Шаг 6. И снова дело за вами
- 8 5 последних уроков рубрики «PHP»
- 9 Одноклассники — вход, моя страница, регистрация, восстановление пароля
- 10 Одноклассники — Вход без регистрации, логина и пароля
- 11 Одноклассники — Восстановление пароля
- 12 Как восстановить пароль в Одноклассниках
- 13 Как удалить логин и пароль при входе в Одноклассники
- 14 Как посмотреть пароль от Одноклассников на телефоне если забыл
- 15 OK ru; вход по логину и паролю
Публикуя свою персональную информацию в открытом доступе на нашем сайте вы, даете согласие на обработку персональных данных и самостоятельно несете ответственность за содержание высказываний, мнений и предоставляемых данных. Мы никак не используем, не продаем и не передаем ваши данные третьим лицам.