Модуль авторизации через социальные сети «Внешняя аутентификация» является платным модулем. Стоимость и условия покупки вы можете уточнить в Скайп-чате с вашим менеджером ОТ или на сайте https://box.otcommerce.com/prices-and-promo#3

Проверка наличия модуля «Внешняя аутентификация»

Получить список подключенных модулей можно одним из этих методов:

если в списке есть ExternalAuthentication, значит модуль «Внешняя аутентификация» включен и вам доступна авторизация через соцсети.

Получение данных по соцсетям

Используем метод GetExternalAuthenticationSystemInfoList для получения списка соцсетей, который передаст вам идентификаторы, названия и картинки соцсетей.

Авторизация

Метод GetExternalAuthenticationInfo используется для инициации авторизации. В него передаем тип приложения, идентификатор соцсети и адрес возврата (такой, какой вы сможете обработать на своем сайте или перехватить в браузере), и в итоге получите адрес, на который нужно отправить браузер пользователя.

После того как пользователь авторизуется в соцсети, браузер вернется на указанный вами адрес, с некоторыми дополнительными параметрами.

Авторизация через мобильное приложение

Как и везде, во все методы нужно передавать параметр applicationType=MobileApplication/Android или applicationType=MobileApplication/iOS в зависимости от системы.

Если для указанной соцсети метод GetExternalAuthenticationInfo вернул в ответе MobileApplicationId, и если ваше приложение хочет реализовать нативную авторизацию, то её можно провести через интеграцию входа в мобильное приложение, в ином случае, если в ответе нет MobileApplicationId или нет возможности реализовать нативную авторизацию, используется обычная схема авторизации через адрес возврата (redirect url), как в предыдущем разделе..

При нативной авторизации процесс входа в систему реализуется в мобильном приложении, после чего, при успешном входе пользователя приложение получает токен идентификатора (idToken) для пользователя. После чего данный токен идентификатора необходимо передать в OTAPI. Для отправки токена используется метод ConfirmExternalAuthenticationWithToken, в него передается тип приложения, contextId (полученный ранее) и токен идентификатора, так же опциональный параметр - xmlCustomData, в нем указываются дополнительные необходимые поля.