Администрирование · 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Войдите в личный кабинет сервиса под учётной записью владельца
- 2Откройте раздел интеграций, API или настроек разработчика
- 3Создайте токен, указав нужные права: только чтение или чтение и запись
- 4Скопируйте токен сразу — многие сервисы показывают его один раз
- 5Вставьте токен в настройки интеграции в 1С и выполните тестовое соединение
- 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 Тогда
// обработка данных
КонецЕсли;
Запрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);Некоторые сервисы принимают токен в параметре URL или в теле запроса — это указывается в документации конкретного API. Передача токена в адресной строке менее безопасна: адреса попадают в журналы прокси и веб-серверов, поэтому вариант с заголовком предпочтительнее, если сервис его поддерживает.
Как безопасно хранить токен в базе
Токен, записанный открытым текстом в константе, регистре сведений или прямо в коде, — реальная уязвимость. Любой пользователь с правами на просмотр настроек или с доступом к конфигуратору сможет его прочитать и использовать в обход всех ограничений.
Правильный подход — использовать механизм безопасного хранилища. В конфигурациях на базе Библиотеки стандартных подсистем для этого предназначены функции работы с безопасным хранилищем данных, которые шифруют значения и скрывают их от интерфейса. В собственных разработках токен следует хранить в защищённом объекте метаданных и выводить в формах как парольное поле.
Дополнительные меры: ограничьте права токена минимально необходимыми, заводите отдельный токен на каждую интеграцию и ведите учёт, где какой токен используется. Тогда при инциденте вы отзовёте один ключ, а не будете перенастраивать все обмены сразу.
Типичные ошибки и их признаки
Самая частая ситуация — ответ сервера с кодом 401 или сообщением «недействительный токен». Причины: токен истёк, скопирован не полностью, в начало или конец строки попал пробел, токен отозван в личном кабинете или создан для другой учётной записи. Проверка начинается с повторной вставки токена из первоисточника.
Вторая группа ошибок — код 403, «доступ запрещён». Токен валиден, но у него недостаточно прав: например, создан ключ «только чтение», а интеграция пытается записывать данные. Лечится перевыпуском токена с нужными разрешениями.
Третья группа — молчаливые сбои: регламентное задание обмена завершается без ошибок, но данные не приходят. Здесь помогает журнал регистрации и ручной тестовый запрос из браузера или консоли: если и там отказ, проблема в токене или правах, а не в коде 1С.
Как проверить, что интеграция работает
После настройки токена выполните контрольный обмен вручную: загрузите один заказ, выгрузите один товар или вызовите тестовый метод API. Успешный ответ сервера и появление данных в базе — признак того, что токен принят и права достаточны.
Как проверить результат
200 или 201, данные получены или записаны
401 — токен недействителен, 403 — не хватает прав
Операции завершены без ошибок, записи созданы
Повторяющиеся ошибки авторизации в каждом сеансе
Дата окончания известна и занесена в напоминания
Срок неизвестен, обмен может остановиться внезапно
Полезно включить логирование обменов хотя бы на период внедрения: фиксируйте время запроса, метод и код ответа. Это позволит быстро отличить проблему токена от проблем сети, сертификатов или изменений на стороне сервиса.
Что важно запомнить
Токен — это ключ доступа вместо пароля: его получают у сервиса, передают в заголовке запроса, хранят в защищённом хранилище и перевыпускают при истечении или подозрении на утечку. Один токен — одна интеграция, минимальные права и контроль срока действия.
Частые вопросы
Где в 1С вводить токен маркетплейса или внешнего сервиса?
Обычно в настройках соответствующего обмена: раздел интеграций или подключений в типовой конфигурации. Ищите форму настройки обмена с конкретным сервисом — там есть поле «Токен», «Ключ API» или «Ключ доступа». Если поле отсутствует, интеграция может требовать доработки или внешней обработки.
Чем токен отличается от API-ключа?
На практике термины часто смешивают: и то и другое — строка-ключ для доступа к API. Формально API-ключ обычно бессрочный и просто идентифицирует приложение, а токен имеет срок действия и набор разрешений. Для настройки интеграции разницы нет: вставляйте выданное значение в предусмотренное поле.
Токен перестал работать, хотя ничего не меняли. Что делать?
Сначала проверьте срок действия в личном кабинете сервиса — многие токены истекают автоматически. Затем убедитесь, что токен не был отозван и права учётной записи не изменились. Если всё в порядке, выполните тестовый запрос вне 1С: отказ и там означает проблему на стороне сервиса.
Можно ли использовать один токен для нескольких баз 1С?
Технически — да, если сервис не ограничивает число подключений. Практически — нежелательно: при компрометации или отзыве ключа пострадают все базы сразу, а найти источник проблемы будет сложнее. Выпускайте отдельный токен на каждую базу или интеграцию.
Как программно обновить токен OAuth в 1С?
Нужно отправить refresh token на адрес обновления, указанный в документации сервиса, и сохранить полученную новую пару токенов в безопасном хранилище. Логично делать это автоматически при получении ответа с кодом 401: попытка обновить токен, затем повтор исходного запроса.
Безопасно ли передавать токен по обычному HTTP без шифрования?
Нет. По открытому соединению токен передаётся в читаемом виде и может быть перехвачен. Используйте только HTTPS: в 1С для этого HTTPСоединение создаётся с защищённым соединением OpenSSL, а публикации на веб-сервере настраиваются с сертификатом.