Skip to main content
Токен даёт доступ к сервису odatat без учётной записи 1С. Его права определяет профиль, указанный при выпуске. Токены нужны для Power BI, Excel, внешних систем и браузерных клиентов.

Формат и хранение

Токен — o4_ и 72 символа base32 (360 бит). В базе (справочник OData4_Токены) хранится только его SHA-256, поэтому значение нельзя посмотреть повторно.

Выпуск

На вкладке «Токены» формы «Настройки OData4» нажмите «Выпустить» и выберите профиль, срок и разрешённые IP. Форма один раз покажет значение токена и готовый адрес …/hs/odatat/t/<токен>/v4/. Сохраните его сразу.
Вкладка «Токены»: кнопки «Выпустить», «Отозвать», «Продлить» и список выпущенных токенов

Вкладка «Токены»: кнопки «Выпустить», «Отозвать», «Продлить» и список выпущенных токенов

Форма выпуска токена: имя, профиль, срок действия и разрешённые IP

Форма выпуска токена: имя, профиль, срок действия и разрешённые IP

Из кода токен выпускает OData4_Профили.ВыпуститьТокен.

Передача

Способы перечислены по старшинству:
Лучший вариант для интеграций: токен не попадает в адрес и в журнал веб-сервера.
Адрес с токеном, в пути или в параметре, остаётся в журнале веб-сервера. Журнал запросов OData4 токен не хранит: путь пишется без /t/<токен>, параметр token убирается, подстроки вида o4_… заменяются на o4_***.

Срок, продление, отзыв

  • Срок действия задаётся только будущей датой. Пустая дата — бессрочный токен.
  • «Продлить» тоже принимает только будущую дату.
  • Отзыв окончателен. Отозванный токен не продлевается и не включается обратно, нужен новый токен.
  • Отзыв действует со следующего запроса.
Из кода — OData4_Профили.ПродлитьТокен и OData4_Профили.ОтозватьТокен. Они возвращают текст отказа, если операция невозможна.

Ограничение по IP

«Разрешённые IP» — список, по одному значению в строке:
  • адрес целиком, IPv4 или IPv6;
  • подсеть IPv4 a.b.c.d/длина, длина от 0 до 32.
Подсети IPv6 не поддерживаются: ::1/128 не принимается, ::1 — принимается. Пустой список снимает ограничение по адресу. Список проверяется при записи.

Адрес клиента за прокси

Адреса соединения у HTTP-сервиса 1С нет, поэтому адрес клиента берётся из заголовка, который ставит доверенный прокси. Настройки на вкладке «Аутентификация»: Адрес берётся справа. Прокси дописывает в конец X-Forwarded-For адрес, с которого к нему пришли, а всё, что левее, присылает клиент и может подделать. При N доверенных прокси адрес клиента — N-й справа. Если адресов меньше N, адрес не определён, и запрос отклоняется.
Токен с разрешёнными IP без доверенного заголовка отвергается. Ответ — 401 «Ограничение токена по адресу клиента не проверяется…». Настройки и форма выпуска предупреждают об этом.

Токены продолжения

Флажок «[Экспериментально] Токены продолжения»: ссылка @odata.nextLink несёт вместо токена одноразовый ключ cont, привязанный к токену, набору и параметрам запроса. Срок ключа задаётся в настройках. Использованные и просроченные ключи удаляет регламентное задание «Очистка OData4».

Отказы

401 называет причину: токен не найден, отозван, истёк или адрес не разрешён. Имя токена и адрес клиента в ответ не попадают, они пишутся в журнал регистрации (событие OData4.Безопасность).