ym88659208ym87991671
Способы авторизации | Документация для разработчиков

Способы авторизации

Обновлено 21 февраля 2024

При разработке приложения со встроенным Jazz SDK (Android, iOS или Web), вам нужно поддержать авторизацию запросов в SberJazz API.

Описание общей схемы обмена сообщениями с API — в разделе Обмен сообщениями.

Для авторизации запросов используется токен доступа к API, который можно получить в обмен на транспортный токен с помощью запроса POST /auth/login.

Токен доступа можно получить двумя способами, которые отличаются методами генерации транспортного токена:

  • В первом случае транспортный токен генерируется на бэкенде приложения, а токен доступа получается либо на фронтенде, либо на бэкенде.

  • Во втором случае создание транспортного токена и его обмен на токен доступа выполняются на фронтенде приложения.

    В этом случае существует риск компрометации ключа SDK, который необходим для создания транспортного токена.

    Старайтесь избегать такого подхода.

Авторизация с помощью бэкенда приложения

Использование бэкенда приложения для генерации транспортного токена с последующим обменом на токен доступа можно представить на схеме:

Описание этапов авторизации:

  1. Пользователь обращается к фронтенду приложения.

  2. Фронтенд передает запрос в бэкенд.

  3. Бэкенд, согласно собственной логике, идентифицирует пользователя.

  4. Бэкенд получает ключ SDK.

    Как правило, ключ SDK хранится в легко доступном хранилище на случай необходимости перевыпустить и обновить его. Таким хранилищем может быть база данных или конфигурационный сервер.

  5. Бэкенд генерирует транспортный токен.

    Для генерации токена бэкенд использует идентификатор пользователя и ключ SDK.

    Подробнее — в разделе Авторизация запросов к API.

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

  1. Бэкенд самостоятельно обменивает транспортный токен на токен доступа с помощью запроса POST /auth/login.
  2. API возвращает токен доступа в бэкенд.
  3. Бэкенд передает токен доступа на фронтенд.
  4. Фронтенд использует токен доступа для авторизации запросов к API.
  5. API авторизует запрос с фронтенда и возвращает данные.

Это рекомендованный способ, так как он наиболее безопасен.

После получения запрошенных данных фронтенд изменяет состояние и отображает изменения пользователю.

Авторизация с помощью фронтенда приложения

В этом случае существует риск компрометации ключа SDK, который необходим для создания транспортного токена.

Старайтесь избегать такого подхода.

Использование фронтенда приложения для генерации транспортного токена с последующим обменом на токен доступа можно представить на схеме:

Описание этапов авторизации:

  1. Пользователь обращается к фронтенду приложения.
  2. Фронтенд получает ключ SDK.
  3. Фронтенд создает транспортный токен.
  4. Фронтенд обменивает транспортный токен на токен доступа с помощью запроса POST /auth/login.
  5. API возвращает токен доступа на фронтенд.
  6. Фронтенд использует токен доступа для авторизации запросов к API.
  7. API авторизует запрос с фронтенда и возвращает данные.
  8. Фронтенд изменяет состояние и отображает изменения пользователю.

Смотрите также

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.