К статье
Практический материал

Администрирование · 10 мин

Что такое токен в 1С и как с ним работать

Что такое токен в 1С, где применяются токены доступа и авторизации, как получить, хранить и использовать их при интеграции с API и веб-сервисами.

Под запросом «ток 1С» чаще всего имеется в виду токен — строка-ключ, которую 1С или внешний сервис использует для проверки прав доступа при обмене данными. Токен заменяет логин и пароль при обращениях к API, веб-сервисам, облачным функциям 1С:Фреш, сервисам обмена электронными документами и интеграциям с сайтами, маркетплейсами, банками.

Практическое значение токена простое: система, получившая запрос, не спрашивает учётные данные заново, а проверяет токен и сразу понимает, кто обращается и что ему разрешено. Это ускоряет обмен и снижает риск утечки паролей, потому что сам пароль по сети не передаётся.

В экосистеме 1С токены встречаются в нескольких местах: при работе через интерфейс OData, при подключении к HTTP-сервисам и веб-сервисам, в механизмах OpenID-аутентификации и OAuth 2.0, при настройке обмена с ЭДО, а также в типовых модулях интеграции с внешними сервисами. Понимание того, какой именно токен нужен и где он хранится, избавляет от типовых ошибок «отказано в доступе» и «недействительный токен».

Что такое токен и чем он отличается от пароля

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

С технической стороны токен — это строка, которую генерирует сервер авторизации. Она может быть случайным набором символов (opaque token) или самодостаточной структурой с подписью, например JWT, где внутри зашифрованы срок действия, владелец и разрешения. 1С умеет работать с обоими вариантами: принимать токены при публикации HTTP-сервисов и отправлять их при обращении к чужим API.

Важное отличие от пароля — возможность отзыва. Если токен скомпрометирован, администратор отзывает именно его, не меняя пароль учётной записи и не ломая другие интеграции. Поэтому для каждой интеграции рекомендуется заводить отдельный токен, а не использовать один на все случаи.

Где токены применяются в 1С

Наиболее частые сценарии, в которых пользователь или администратор 1С сталкивается с токенами:

  • Обмен с маркетплейсами и интернет-магазинами: для выгрузки товаров, цен и загрузки заказов нужен API-ключ или токен личного кабинета площадки.
  • ЭДО и отчётность: подключение к оператору электронного документооборота и сервисам сдачи отчётности часто происходит по токену, привязанному к сертификату или учётной записи.
  • Банковские интеграции: прямой обмен с банком через API использует токены доступа вместо постоянной передачи пароля.
  • Облачный 1С:Фреш и сервисы 1С: для программного доступа к данным через OData или HTTP-сервисы используется аутентификация по токену или паролю приложения.
  • Мессенджеры, телефония, CRM-коннекторы: почти каждый внешний коннектор требует ввести токен в настройках.

Во всех этих случаях логика одинаковая: внешний сервис выдаёт токен владельцу учётной записи, а 1С хранит его и подставляет в запросы. Различаются только способ получения, срок действия и формат передачи.

Как получить токен для интеграции

Способ получения зависит от того, кто является поставщиком сервиса. Для внешних площадок токен создаётся в личном кабинете: обычно в разделе «Интеграции», «API» или «Настройки разработчика» есть кнопка «Создать токен» или «Сгенерировать ключ». Токен показывается один раз, его нужно сразу скопировать в надёжное хранилище.

Если 1С сама выступает сервером и отдаёт данные наружу, токен или учётные данные для внешней системы настраиваются на стороне 1С: создаётся отдельный пользователь с минимально необходимыми правами, для него задаётся пароль или включается аутентификация по токену, если это поддерживает публикация. Для стандартного интерфейса OData в файловых и клиент-серверных базах чаще используется базовая аутентификация по логину и паролю, а полноценные OAuth-токены появляются при работе через облачные сервисы или самописные HTTP-сервисы.

Типовой порядок получения токена внешнего сервиса
  1. 1
    Войдите в личный кабинет сервиса под учётной записью владельца
  2. 2
    Откройте раздел интеграций, API или настроек разработчика
  3. 3
    Создайте токен, указав нужные права: только чтение или чтение и запись
  4. 4
    Скопируйте токен сразу — многие сервисы показывают его один раз
  5. 5
    Вставьте токен в настройки интеграции в 1С и выполните тестовое соединение
  6. 6
    Зафиксируйте срок действия токена и дату его продления в календаре

Для интеграций по протоколу OAuth 2.0 токен получают программно: 1С отправляет на сервер авторизации логин и пароль или код подтверждения и получает в ответ пару значений — access token и refresh token. Первый используется в запросах и быстро истекает, второй позволяет получить новый access token без повторного ввода пароля.

Как передать токен в запросе из 1С

При программном обращении к внешнему API из встроенного языка 1С токен чаще всего передаётся в HTTP-заголовке Authorization. Стандартная схема выглядит так: создаётся HTTPСоединение, формируется HTTPЗапрос, в заголовки добавляется строка вида «Bearer <токен>», после чего выполняется метод GET или POST.

Пример формирования запроса с токеном:

Соединение = Новый HTTPСоединение("api.example.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL);

Запрос = Новый HTTPЗапрос("/v1/orders");

Запрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);

Ответ = Соединение.Получить(Запрос);

Если Ответ.КодСостояния = 200 Тогда

// обработка данных

КонецЕсли;

bsl
Запрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);

Некоторые сервисы принимают токен в параметре URL или в теле запроса — это указывается в документации конкретного API. Передача токена в адресной строке менее безопасна: адреса попадают в журналы прокси и веб-серверов, поэтому вариант с заголовком предпочтительнее, если сервис его поддерживает.

Как безопасно хранить токен в базе

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

Правильный подход — использовать механизм безопасного хранилища. В конфигурациях на базе Библиотеки стандартных подсистем для этого предназначены функции работы с безопасным хранилищем данных, которые шифруют значения и скрывают их от интерфейса. В собственных разработках токен следует хранить в защищённом объекте метаданных и выводить в формах как парольное поле.

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

Типичные ошибки и их признаки

Самая частая ситуация — ответ сервера с кодом 401 или сообщением «недействительный токен». Причины: токен истёк, скопирован не полностью, в начало или конец строки попал пробел, токен отозван в личном кабинете или создан для другой учётной записи. Проверка начинается с повторной вставки токена из первоисточника.

Вторая группа ошибок — код 403, «доступ запрещён». Токен валиден, но у него недостаточно прав: например, создан ключ «только чтение», а интеграция пытается записывать данные. Лечится перевыпуском токена с нужными разрешениями.

Типичные ошибки при работе с токенами
01
Копирование токена с пробелом или переводом строки — сервер отклоняет запрос, хотя токен верный
02
Использование одного токена во всех интеграциях — отзыв одного ключа ломает все обмены сразу
03
Игнорирование срока действия — обмен внезапно останавливается, и причину ищут часами
04
Хранение токена открытым текстом в константе — утечка через права доступа или выгрузку базы
05
Передача токена в параметрах URL — ключ оседает в журналах серверов и прокси

Третья группа — молчаливые сбои: регламентное задание обмена завершается без ошибок, но данные не приходят. Здесь помогает журнал регистрации и ручной тестовый запрос из браузера или консоли: если и там отказ, проблема в токене или правах, а не в коде 1С.

Как проверить, что интеграция работает

После настройки токена выполните контрольный обмен вручную: загрузите один заказ, выгрузите один товар или вызовите тестовый метод API. Успешный ответ сервера и появление данных в базе — признак того, что токен принят и права достаточны.

Контрольные точки

Как проверить результат

Код ответа сервера
Норма

200 или 201, данные получены или записаны

Тревожный признак

401 — токен недействителен, 403 — не хватает прав

Журнал обмена в 1С
Норма

Операции завершены без ошибок, записи созданы

Тревожный признак

Повторяющиеся ошибки авторизации в каждом сеансе

Срок действия токена
Норма

Дата окончания известна и занесена в напоминания

Тревожный признак

Срок неизвестен, обмен может остановиться внезапно

Полезно включить логирование обменов хотя бы на период внедрения: фиксируйте время запроса, метод и код ответа. Это позволит быстро отличить проблему токена от проблем сети, сертификатов или изменений на стороне сервиса.

Итог

Что важно запомнить

Токен — это ключ доступа вместо пароля: его получают у сервиса, передают в заголовке запроса, хранят в защищённом хранилище и перевыпускают при истечении или подозрении на утечку. Один токен — одна интеграция, минимальные права и контроль срока действия.

Частые вопросы

Где в 1С вводить токен маркетплейса или внешнего сервиса?

Обычно в настройках соответствующего обмена: раздел интеграций или подключений в типовой конфигурации. Ищите форму настройки обмена с конкретным сервисом — там есть поле «Токен», «Ключ API» или «Ключ доступа». Если поле отсутствует, интеграция может требовать доработки или внешней обработки.

Чем токен отличается от API-ключа?

На практике термины часто смешивают: и то и другое — строка-ключ для доступа к API. Формально API-ключ обычно бессрочный и просто идентифицирует приложение, а токен имеет срок действия и набор разрешений. Для настройки интеграции разницы нет: вставляйте выданное значение в предусмотренное поле.

Токен перестал работать, хотя ничего не меняли. Что делать?

Сначала проверьте срок действия в личном кабинете сервиса — многие токены истекают автоматически. Затем убедитесь, что токен не был отозван и права учётной записи не изменились. Если всё в порядке, выполните тестовый запрос вне 1С: отказ и там означает проблему на стороне сервиса.

Можно ли использовать один токен для нескольких баз 1С?

Технически — да, если сервис не ограничивает число подключений. Практически — нежелательно: при компрометации или отзыве ключа пострадают все базы сразу, а найти источник проблемы будет сложнее. Выпускайте отдельный токен на каждую базу или интеграцию.

Как программно обновить токен OAuth в 1С?

Нужно отправить refresh token на адрес обновления, указанный в документации сервиса, и сохранить полученную новую пару токенов в безопасном хранилище. Логично делать это автоматически при получении ответа с кодом 401: попытка обновить токен, затем повтор исходного запроса.

Безопасно ли передавать токен по обычному HTTP без шифрования?

Нет. По открытому соединению токен передаётся в читаемом виде и может быть перехвачен. Используйте только HTTPS: в 1С для этого HTTPСоединение создаётся с защищённым соединением OpenSSL, а публикации на веб-сервере настраиваются с сертификатом.