Для авторизации через социальную сеть в запросе требуется передать название сети, одноразовый ключ авторизации (токен) и, при необходимости, дополнительные данные. При успешной обработке запроса сервер авторизует пользователя, привяжет социальную сеть к учетной записи пользователя ЛитРес и вернет актуальный идентификатор сессии – 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 – идентификатор пользователя «Вконтакте»


Facebook

fb

access_token – одноразовый токен


Mail.Ru

ma

access_token – одноразовый токен

uids – идентификатор пользователя «mail.ru»


Одноклассники

ok

access_token – одноразовый токен

session_secret_key – сессионный ключ


Google

gp

access_token – одноразовый токен


MOS.RU

msaccess_token – одноразовый токен
Instagramigaccess_token – одноразовый токен
Сбербанкsbкод для обмена на токен
Apple Idapкод для обмена на токен
Яндексya


Возвращаемые значения

sid – актуальный (валидный) идентификатор сессии;
country – сведения о геолокации пользователя в стандарте ISO 3166;
region – регион пользователя (необязательный параметр);
city – город пользователя (необязательный параметр);
currency – соответствующая геолокации валюта (необязательный параметр);

status – статус обработки кода на стороне соцсети:

  • pending – ожидание, повторить запрос с новым sid.

Возможные ошибки

error_code

error_message

Описание

101027

Ошибка при попытке авторизации через социальную сеть

По каким-то причинам переданные данные не были обработаны сервером социальной сети. Возможные причины:

  • истек TTL токена;
  • ошибка в строке токена или дополнительных данных;
  • в запросе указан токен от другой соцсети;
  • технические проблемы на стороне сервера соцсети.

101053

invalid params

В запросе передан некорректный параметр, отсутствуют обязательные параметры или передано недопустимое значение параметра

101053Parameter 'code' is missingДля социальной сети ожидается наличие параметра code
101287400: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"
  } 
}