|
| ||||||||||||||||||||||
← Ctrl предыдущаяследующая Ctrl → Получение Fimp-токена
На уровне сетевого обмена процедура получения Fimp-токена состоит из двух этапов:
Взаимодействие клиентского приложения и сервера на стадии получения Fimp-токена представлено на рисунке:
Клиентское приложение должно выполнить следующие действия:
Получение публичного RSA-ключаДля получения публичного RSA-ключа необходимо отправить GET-запрос по адресу http://auth.mobile.yandex.ru/yamrsa/key/. В случае успеха сервер вернет 200 OK и XML-документ, содержащий корневой элемент response и вложенные элементы:
ПримерОтвет сервера: Шифрование логина и пароля с помощью RSA-ключаС помощью RSA-ключа нужно зашифровать строку с логином и паролем "<credentials login="{логин}" password="{пароль}"/>". Шифровать необходимо всю строку целиком (а не по отдельности логин и пароль). После шифрования полученные данные нужно закодировать в base64. ![]() Cервис выдачи авторизационных токенов поддерживает только нестандартный вариант RSA-шифрация, поэтому от клиентов требуется использование специальной библиотеки шифрования. Исходные тексты варианта библиотеки для языка С/С++ доступны по адресу http://download.yandex.ru/api-fotki/c-yamrsa.tar.gz. ПримерДля пользователя alekna с паролем «123456» формируем строку credentials: Эту строку шифруем с помощью RSA-ключа и затем кодируем в base64. На выходе получается строка: Получение токенаДля получения токена необходимо обменять зашифрованную и закодированную в base64 строку credentials (см. Шифрование логина и пароля с помощью RSA-ключа) на авторизационный токен. Для этого нужно выполнить POST-запрос по адресу http://auth.mobile.yandex.ru/yamrsa/token/ с параметрами:
Данный POST-запрос можно выполнить в двух форматах:
![]() При отправки запроса в формате x-www-form-urlencoded строку credentials после шифрования и кодирования в base64 необходимо еще URL-кодировать. ПримерЗапрос для получения токена в формате x-www-form-urlencoded: ![]() В данном примере строка credentials была разбита на две строки для удобства восприятия. ПримерВ формате multipart/form-data POST-запрос на получение токена имеет вид: В случае успеха сервер возвращает 200 OK и авторизационный токен: Возможные ошибкиВ случае ошибки при попытке авторизации сервер возвращает XML-документ, где code - код внутренней ошибки сервера.
|
| Работайте в Яндексе |
© 2008—2012 «Яндекс»
|