Руководство backend-разработчика
Шаг 1. Обработка токенов авторизации
На стороне бэкэнда обеспечьте надежную обработку токенов авторизации, включая своевременное обновление access-токена и refresh-токена. Токены периодически истекают, и важно поддерживать актуальность сеанса пользователя.
Полезные ссылки: Подробнее о работе токенов: токены авторизации
Шаг 2. Генерация и передача идентификатора пользователя
Организуйте генерацию уникального идентификатора пользователя (userID), необходимого для идентификации запросов на сервер ЕЛК.
Этот идентификатор создается вами и используется в коммуникациях с нашим API.
Правила ф ормирования userID:
- Уникален для каждого пользователя;
- Генерируется и хранится на стороне партнера.
Шаг 3. Прокси-обработка запросов
Настройте обработку запросов, поступающих от SDK, как прокси-сервер. Основные шаги:
Последовательность действий:
-
Получение запроса от SDK. Примите HTTP-запросы от фронтальной стороны
-
Передача запроса на сервер ЕЛК. Преобразуйте полученный запрос в нужный формат и отправьте его на нашу сторону
-
Обработка ответа от ЕЛК. Получите ответ от нашего сервера и верните его обратно в SDK
Если ответ требует дополнительной обработки (например, изменение имени или аватара пользователя), воспользуйтесь рекомендациями из специального раздела (Изменение аватара и имени пользователя)
Пример обработки запроса и ответа
Рассмотрим простой пример того, как обрабатывать запросы от SDK и передавать их далее на сервер ЕЛК, а затем возвращать обработанные ответы назад.
SDK отправляет следующий запрос на ваш сервер который был передан в partnerProfileUrl при инициализации SDK.
| # | Имя | Тип | Обязательный | Описание | Пример |
|---|---|---|---|---|---|
| 1 | Authorization | Заголовок | Да | Токен сессии. К значению userID/sessionId (полученному при инициализации SDK) в начале добавляется «Bearer ». | Bearer DC3641EC-A0C1-F61A-B2DE-A331C0B2E20F |
| 2 | [Ключ от партнера] | Заголовок | Нет | Один или несколько ключей и их значения, полученные от партнера при инициализации в параметре headersELK. | first: oneUser-Agent: Ktor client |
| 3 | Accept | Заголовок | Да | Ожидаемый тип ответа. | application/json |
| 4 | Content-Type | Заголовок | Да | Тип передаваемых данных. | application/json |
| Параметр | Тип | Обязательный | Описание | Пример |
|---|---|---|---|---|
| url | String | Да | Адрес, который партнер должен использовать для запроса данных на сервер ЕЛК (Единой Лиги Клиентов). | https://oauth.sber.ru/api/v1/userdata?infoSource=userInfo&widgetName=listDataDefault |
Пример полного тела запроса (JSON):
{
"url": "https://oauth-ift.sber.ru/api/v1/userdata?infoSource=[Тип ресурсной системы]&widgetName=[Название шаблона]"
}