Общая информация
Сервис авторизации СберБизнес ID построен на базе протокола OAuth 2.0, с использованием типа авторизации Authorization Code Flow и с дополнительными параметрами и значениями, определенными протоколом OpenID Connect. Авторизация с помощью СберБизнес ID позволяет платформе партнера получить информацию о клиенте банка и выполнять операции от имени клиента банка в системе СберБизнес. Доступ до информации клиента и возможность выполнения действий от его лица предоставляется только с согласия клиента.
Вход через СберБизнес ID позволяет клиентам:
- Без заполнения дополнительных форм регистрации создать учетную запись на платформе. Данные клиента подлинные и проверены банком.
- Осуществлять безопасный вход с использованием двухфакторной аутентификации.
- Использовать сервисы Sber API, позволяющие им выдавать партнерскому приложению право на работу со своими данными и отправку черновиков платежных и других типов документов в свой адрес.
Терминология
- Клиент / Пользователь – владелец учетной записи СберБизнес ID, представитель юридического лица/ИП, являющийся пользователем системы СберБизнес и выполняющий операции в системе СберБизнес от имени юридического лица/ИП.
- Партнер – организация, заключившая договор с банком на использование Sber API.
- Платформа – приложение партнера, осуществляющие взаимодействие с сервисами СберБизнес ID и Sber API.
- Ресурсная система – система СберБизнес, в которой работает клиент и доступ до ресурсов которой получает партнерское приложение от лица клиента.
- Код авторизации (authorization code) – код сессии клиента, полученный после аутентификации и подписания им согласия в СберБизнес ID, необходим для получения доступа к токену (Access token), его обновления (Refresh token) и ID token.
- Scope – набор атрибутов (claim) и операций, которые будут доступны партнерскому приложению после авторизации клиента.
- Атрибуты (claim) – атрибуты с информацией о клиенте, которые может запрашивать партнерское приложение из ресурсной системы.
- Операции – это ресурсы API, которые может вызывать партнерское приложение в ресурсной системе, сгруппированные по практическому назначению.
Согласие на передачу данных
Оферта
Согласие на передачу данных (оферта) - это документ, который Банк запрашивает у клиента и подтверждающий право Банка на передачу информации о клиенте третьему лицу (вам, как Партнеру Банка), выполнению операций третьим лицом (вами, как Партнером Банка) от лица Клиента. Согласие (оферта) содержит информацию о том к каким данным, операциям и на какой срок предоставлен доступ Партнеру. При предоставлении Партнеру доступа к данным своих счетов клиент в явном виде указывает каждый счет, к которому предоставляет доступ.
Согласие запрашивается при обращении к сервису авторизации СберБизнес ID:
- При первичном обращении пользователя к Платформе Партнера через сервис СберБизнес ID;
- При повторном обращении, в случае если:
- Истек срок действия предыдущего согласия;
- Предыдущее согласие было отозвано пользователем;
- Состав запрашиваемого согласия (scope) изменился относительно принятого ранее согласия.
Согласие на передачу данных не требуется, если Платформа использует получение и отправку документов только по своей организации.
Если пользователь отзывает согласие, то все выданные токены (Access Token, Refresh Token) деактивируются.
Если Приложение Партнера использует устаревшую версию авторизации /v1/oauth/authorize
и состав запрашиваемых разрешений в составе scope изменился, то для получения согласия от Пользователя с новыми разрешениями необходимо перейти на вторую версию авторизации /v2/oauth/authorize
.
Требования к платформе
Для обеспечения взаимодействия платформы с сервисом СберБизнес ID:
- Платформа должна выполнять проверки в соответствии с требованием спецификаций: OAuth 2.0, OpenIDConnect.
- Кнопка входа на платформе через СберБизнес ID должна отвечать требованиям дизайна пользовательского интерфейса.
- Платформа должна пройти проверку службы безопасности на устойчивость к уязвимостям из перечня OWASP Top 10.
- Конфигурация бэкенда Платформы должна предусматривать корректную обработку ошибок, возвращаемых в ответах на запросы Sber API,
- Интервал между запросами, направляемыми в Sber API, должен быть больше 2 секунд (2000 миллисекунд),
- В случае возникновения ошибок работы межсервисного взаимодействия для анализа вопроса банк запросит логи обмена со стороны партнера. Рекомендуем реализовать логирование всех взаимодействий с банком с фиксацией отправляемых и (или) получаемых пакетов.
Схема работы сервиса
Участники
- Клиент - представитель ЮЛ/ИП, который имеет пользовательский профиль в СберБизнес своей компании с правом подписи;
- Платформа (в схеме разделили на front и back) - любой web-ресурс (интернет-магазин, мобильное приложение и т.д.), который Вы используете в рамках клиентского пути Клиентов;
- СберБизнес ID - единая учетная запись пользователя ЮЛ/ИП, используемая для регистрации и входа пользователей в продукты и сервисы Банка и партнеров Sber API.
Предусловия
- Клиент находится на Платформе
Постусловия
- Клиент находится на Платформе как авторизованный пользователь
Аутентификация и авторизация глазами клиента
Клиентский путь
Шаг | Описание | Скриншот |
---|---|---|
1 | Нажать на кнопку «Войти по СберБизнес ID» на платформе | |
2 | Окно ввода логина и пароля, и подтверждение входа | |
3 | После входа отобразится окно согласия на передачу данных | |
4 | Подписание согласия с помощью СМС |
Визуальные гайдлайны
FAQ
Кто может подписывать согласие на передачу данных при авторизации по СберБизнес ID?
Учетная запись СберБизнес ID с правом подписи:
- Первая;
- Вторая;
- Единственная.
Где посмотреть право подписи и тип подписи?
- Необходимо зайти в СберБизнес
- В верхнем правом углу нажать на свой профиль
- Нажать на СберБизнес ID
- На новой странице внизу необходимо найти поле «Полномочия», здесь будет указан тип подписи.
Отсутствие поля "Полномочия" в разделе "Мой профиль" говорит об отсутствии права на подпись. Такой пользователь не сможет подписать Согласие на передачу данных от лица компании.
Как получить право подписи?
Вы можете предоставить право подписи путем подачи корректирующего заявление в офис банка или выпустить новую учетную запись с правом подписи по инструкции.
Как мне тестировать сервис на тестовом контуре?
После подписания документов на подключение к Sber API, вам направят комплект настроек и данные по организациям и учетными записями для тестирования.
Что делать если истек токен доступа (access_token)?
Необходимо получить новый токен доступа с помощью токена обновления (refresh_token) по инструкции.
Что будет с токеном обновления (refresh_token) после получения новой пары токена доступа (access_token) и обновления (refresh_token)?
Использованный токен обновления будет активным 2 часа с момента его использования для получения новой пары токена доступа (access_token) и токена обновления (refresh_token).
Что делать если истек срок действия токена обновления (refresh_token)?
Пользователю необходимо повторно пройти процесс авторизации для получения Платформой новой пары access_token и refresh_token.
Какую информацию по Клиенту я получу?
Вы получите информацию, которую запрашивали в виде атрибутов (claim) в ссылке аутентификации в параметрах scope.
Где я могу ознакомиться со всеми возможными атрибутами (claim)?
На главной странице справочника API).
Чем отличаются ID token при запросе `/v2/oauth/token` и `/v2/oauth/user-info`?
ID token при запросе /v2/oauth/token
содержит информацию об авторизации Пользователя и используется для его валидации.
ID token при запросе /v2/oauth/user-info
содержит информацию о Пользователе и организации.