Инвойсбокс ID
Инвойсбокс ID — единая учётная запись Инвойсбокс. Внешний сервис может пускать по ней своих
пользователей: человек нажимает «Войти», подтверждает вход на id.invoicebox.ru и возвращается к вам
уже авторизованным. Пароль, второй фактор и восстановление доступа остаются на стороне Инвойсбокс —
вам не нужно ни хранить пароли, ни делать формы регистрации.
Что даёт готовый вход
- Не нужно строить свой контур входа. Регистрация, восстановление пароля, второй фактор, блокировка после неудачных попыток, письма с подтверждением — всё это уже работает и поддерживается.
- Пароли не попадают в ваш сервис. Их нельзя утечь оттуда, где их нет: вы храните только сессию, а требования к хранению секретов остаются на стороне Инвойсбокс.
- Один вход на все продукты. Пользователь, у которого уже есть учётная запись Инвойсбокс, входит в ваш сервис без новой регистрации — и не заводит ещё один пароль.
- Вызовы идут от имени человека. Токен привязан к пользователю, поэтому в логах и в правах видно, кто именно выставил счёт или запросил документы, — в отличие от общего сервисного токена магазина.
- Стандарт, а не самодельный протокол. OAuth 2.1 с PKCE поддерживают готовые библиотеки почти для
любого языка: подключение сводится к двум запросам и одному адресу возврата. Библиотеке достаточно
указать
issuer— остальные адреса она прочитает из метаданных сервера.
Когда это нужно
- Сервис показывает пользователю его заказы, счета или документы из Инвойсбокс.
- Вы делаете кабинет для покупателей или партнёров и не хотите вести свою базу паролей.
- Нужно, чтобы вызовы API шли от имени конкретного человека, а не от сервисного токена магазина.
Если сервису нужен только приём платежей, вход не требуется: заказы создаются токеном магазина, а покупателю достаточно платёжной страницы.
Что понадобится
| Что | Откуда взять |
|---|---|
Идентификатор приложения (client_id) | только через службу поддержки — см. ниже |
Адрес возврата (redirect_uri) | ваш адрес, его нужно прислать вместе с заявкой |
| Адрес Инвойсбокс ID | https://id.invoicebox.ru |
| Адрес API для обмена кода | https://api.invoicebox.ru |
Как получить идентификатор приложения
Самостоятельной регистрации приложений пока нет. Идентификатор выдаёт служба поддержки — напишите ей и укажите:
- название сервиса и кратко, зачем нужен вход;
- адреса возврата (
redirect_uri) — все, которые будете использовать, включая адрес для разработки. Инвойсбокс ID вернёт пользователя только на заранее известный адрес: незарегистрированный адрес приводит к отказу входа; - контакт разработчика, с которым можно уточнять детали.
Секрет приложения нужен не всем. Приложению, которое работает в браузере или на устройстве, он не выдаётся: спрятать его там невозможно, а подлинность обмена кода подтверждает PKCE. Серверному приложению секрет выдаётся по запросу — скажите об этом сразу, если обмен кода у вас идёт с сервера.
Что в разделе
- Подключение — вход по шагам, с кодом: PKCE, экран согласия, обмен кода.
- Стандартный OAuth 2.1 — справочник по стандарту: метаданные сервера, параметры экрана согласия, обмен, обновление и отзыв токена, коды ошибок.
- Справочник запросов — что нужно после входа: профиль пользователя и выход.
- Сессия и безопасность — где держать токен, зачем
state, какие ошибки бывают.