АВТОРИЗАЦИЯ ПОКУПАТЕЛЕЙ

В платформе BIL24 покупатели билетов (товаров, услуг) авторизуются двумя способами:

1. При помощи кода подтверждения адреса электронной почты, отправляемого на указанный email. Далее пользователь вводит этот код на сайте продавца (версия 1.0, является устаревшей).

2. При помощи Виджета авторизации с кнопкой «Войти как…», встраиваемого на сайт продавца. Пользователю отправляется ссылка для подтверждения почты (версия 2.0, рекомендуемая к использованию). Пример авторизации.

С марта 2023 года первый способ считается устаревшим, разработчикам рекомендуется использовать второй способ – Виджет авторизации.

АВТОРИЗАЦИЯ С ПОМОЩЬЮ ВИДЖЕТА

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

<script async src="https://api.bil24.pro/user/loginWidget.js" data-fid="1003" data-token="7f23523d1c5fa01e5c9e7"></script>
<script>
function onLogin(user) {
alert('User data:\nuserId=' + user.userId + '\nsessionId=' + user.sessionId + '\nemail=' + user.email);
}
</script>

Описание параметров скрипта:

src – URL сервера авторизации;
Значения src для платформы BIL24:
- Тестовая зона https://api.bil24.pro:1240/user/loginWidget.js
- Реальная зона https://api.bil24.pro/user/loginWidget.js
Значения src для платформы TixGear:
- Тестовая зона https://api.tixgear.com:1240/user/loginWidget.js
- Реальная зона https://api.tixgear.com/user/loginWidget.js

data-fid – id интерфейса (FID);

data-token – токен интерфейса (token).

Функция onLogin(user) выполняется после успешной авторизации пользователя. Его данные будут доступны в переменной user, которая является JSON-объектом с полями userId, sessionId, email.

После выполнения, скрипт Виджета авторизации отобразит кнопку (рис.1):


рис.1

После нажатия кнопки откроется окно с запросом адреса email (рис.2):


рис.2

В окне указывается доменное имя сайта, на котором авторизуется покупатель. Здесь необходимо ввести свой адрес email и нажать кнопку «Подтвердить». На указанный email будет отправлено письмо с подтверждением. В браузере пользователя автоматически установятся сессионные cookie для сервера авторизации (сессионные cookie удаляются при закрытии браузера, они существуют только на протяжении текущего сеанса).

После того, как пользователь подтвердит свой адрес email, браузер станет авторизованным и cookie обновятся на постоянные. В них сохранятся userId и sessionId пользователя для быстрой авторизации на других сайтах, использующих в этом браузере Виджет авторизации. В окне загрузится страница подтверждения доступа (рис.3):


рис.3

Страница содержит три кнопки: «Принять», «Отклонить», и «Выйти из аккаунта».

По нажатию кнопки «Принять» из встроенного скрипта будет вызвана функция onLogin(user), где user - это JSON-объект с данными пользователя.

По нажатию кнопки «Отклонить» окно будет закрыто.

По нажатию кнопки «Выйти из аккаунта» будут удалены постоянные cookie. Браузер пользователя будет разавторизован.

Когда браузер пользователя успешно авторизован, и при условии, что что настройки браузера не блокируют third-party cookies, кнопка авторизации будет выглядеть так (рис.4):


рис.4

По нажатию кнопки откроется окно со страницей подтверждения доступа (рис.3).