Для авторизации через социальную сеть в запросе требуется передать название сети, одноразовый ключ авторизации (токен) и, при необходимости, дополнительные данные. При успешной обработке запроса сервер авторизует пользователя, привяжет социальную сеть к учетной записи пользователя ЛитРес и вернет актуальный идентификатор сессии – SID.
ID функции
w_authorise_socnet
Кто может вызывать
Анонимный пользователь.
Авторизованное приложение.
Принимаемые параметры
socnet* – социальная сеть, через которую производится авторизация. Допустимые значения (описание см. в таблице ниже):
- tw_reverse;
- tw;
- vk;
- fb;
- ma;
- ok;
- gp;
- ms;
- ig;
- sb;
- vk_miniapp.
- ap
- ya
token* – одноразовый ключ (строковое значение), полученный от социальной сети и подтверждающий возможность авторизации;
code – одноразовый ключ (строковое значение), полученный от социальной сети и подтверждающий возможность авторизации;
token_verifier – дополнительные данные, необходимые для авторизации через токен (строковое значение).
Параметры token и code являются взаимоисключающими. В зависимости от типа социальной сети в параметрах передаются различные значения:
Социальная сеть | socnet* | token* | token_verifier | code |
---|---|---|---|---|
Twitter под операционной системой iOS (используется reverse-auth) | tw_reverse | oauth_token – одноразовый токен | oauth_verifier – верификационный ключ | |
Twitter под любой операционной системой, отличной от iOS | tw | oauth_token – одноразовый токен | oauth_verifier – верификационный ключ | |
ВКонтакте | vk, vk_miniapp | access_token – одноразовый токен | uids – идентификатор пользователя «Вконтакте» | |
fb | access_token – одноразовый токен | – | ||
Mail.Ru | ma | access_token – одноразовый токен | uids – идентификатор пользователя «mail.ru» | |
Одноклассники | ok | access_token – одноразовый токен | session_secret_key – сессионный ключ | |
Google | gp | access_token – одноразовый токен | – | |
MOS.RU | ms | access_token – одноразовый токен | – | |
ig | access_token – одноразовый токен | – | ||
Сбербанк | sb | – | – | код для обмена на токен |
Apple Id | ap | – | – | код для обмена на токен |
Яндекс | ya |
Возвращаемые значения
sid – актуальный (валидный) идентификатор сессии;
country – сведения о геолокации пользователя в стандарте ISO 3166;
region – регион пользователя (необязательный параметр);
city – город пользователя (необязательный параметр);
currency – соответствующая геолокации валюта (необязательный параметр);
status – статус обработки кода на стороне соцсети:
- pending – ожидание, повторить запрос с новым sid.
Возможные ошибки
error_code | error_message | Описание |
---|---|---|
101027 | Ошибка при попытке авторизации через социальную сеть | По каким-то причинам переданные данные не были обработаны сервером социальной сети. Возможные причины:
|
101053 | invalid params | В запросе передан некорректный параметр, отсутствуют обязательные параметры или передано недопустимое значение параметра |
101053 | Parameter 'code' is missing | Для социальной сети ожидается наличие параметра code |
101287 | 400:invalid_grant | Доступ запрещен, код больше не действителен |
Пример запроса на сервер
{ "app": "1", "time": "2014-11-07T16:21:02+03:00", "sha": "b79d8e9993d20da6abe78838d3c7fbf640a4c52956569bef3c685d3453316b5c", "requests": [ { "func": "w_authorise_socnet", "id": "authorise_socnet", "param": { "socnet": "tw_reverce", "token": "78838d3c7fbf640a4c52956569bef3c685", "token_verifier": "1d23g33g4" } } ] }
Пример ответа сервера
{ "success": true, "time": "2014-11-07T16:21:02+03:00", "authorise_socnet": { "success": true, "sid": "78838d3c7fbf640a4c52956569bef3c685 (still a string, remember!)", "country": "RUS" } }