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

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

Токен в 1С: что это и как его использовать

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

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

С токенами сталкиваются в самых разных сценариях: при подключении интернет-магазина к 1С, при настройке обмена с банком или маркетплейсом, при работе через HTTP-сервисы и REST API, при использовании облачных сервисов вроде 1С:Фреш или 1С:Отчётность. Понимание того, что такое токен и как им управлять, помогает быстрее настраивать интеграции и не создавать дыр в безопасности.

Важно сразу разделить два разных смысла. Первый — токен доступа к API и веб-сервисам (технический ключ для интеграций). Второй — аппаратный или программный ключ защиты лицензий 1С (USB-ключ HASP), который иногда тоже называют «токеном». В этой статье речь идёт в основном о токенах доступа, но про лицензионные ключи тоже сказано отдельно.

Что такое токен и зачем он нужен в 1С

Токен — это сгенерированная строка символов, которая подтверждает право на доступ к сервису. Когда 1С обращается, например, к API маркетплейса, она передаёт токен в заголовке запроса. Сервис проверяет токен, определяет, какой компании он принадлежит и какие операции разрешены, и только после этого отдаёт данные или принимает изменения.

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

В типовых конфигурациях 1С токены встречаются повсюду: в настройках обмена с сайтом, в подсистеме ЭДО, в подключении к банкам по DirectBank, в интеграциях с CRM и службами доставки. Разработчик, который пишет собственный HTTP-сервис в 1С, тоже обычно реализует проверку токена, чтобы закрыть доступ посторонним.

Какие виды токенов встречаются в работе с 1С

На практике вы столкнётесь с несколькими разновидностями токенов, и важно понимать, чем они отличаются, потому что отличается и порядок работы с ними.

  • API-ключ (API key) — постоянный ключ, который выдаётся один раз в личном кабинете сервиса. Действует, пока его не отзовут. Так работают многие маркетплейсы и службы доставки.
  • Access token с ограниченным сроком жизни — ключ, который «протухает» через минуты или часы. Для его продления используется refresh token. Так устроен стандарт OAuth 2.0, который применяется во многих облачных сервисах.
  • JWT (JSON Web Token) — токен, внутри которого зашифрованы данные о пользователе и сроке действия. Сервер проверяет его подпись без обращения к базе. Часто используется в самописных HTTP-сервисах 1С.
  • Лицензионный ключ (USB-токен HASP) — аппаратный ключ защиты платформы 1С. Это отдельная тема: он не передаётся по сети в запросах, а подключается к серверу или компьютеру, где работает 1С.

Сравнение вариантов

Постоянный API-ключ

Прост в настройке: скопировал и вставил. Минус — при утечке действует, пока его не отзовут вручную.

OAuth 2.0 с refresh token

Безопаснее за счёт короткого срока жизни access token. Сложнее: нужна логика автоматического обновления токена.

JWT в собственном сервисе

Гибкий контроль прав и сроков, но требует корректной реализации проверки подписи на стороне 1С.

Где взять токен для подключения к 1С

Источник токена зависит от того, кто кому предоставляет доступ. Если 1С подключается к внешнему сервису (маркетплейс, банк, сайт), токен выдаёт тот самый сервис. Обычно это делается в личном кабинете: раздел «Интеграции», «API», «Для разработчиков» — там создаётся ключ, который затем вставляется в настройки обмена в 1С.

Если же внешняя система должна обращаться к вашей 1С (например, сайт забирает остатки и цены через HTTP-сервис), токен создаёте вы сами. Типовой подход — сгенерировать длинную случайную строку, сохранить её в базе (в константе, регистре сведений или в справочнике внешних систем) и проверять её в каждом входящем запросе.

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

Токены в типовых конфигурациях

В «1С:Управление торговлей», «1С:ERP» и «1С:Комплексная автоматизация» настройки интеграций обычно собраны в разделе «Администрирование» — «Интеграция» или «Обмен электронными документами». Там же хранятся ключи для ЭДО, обмена с банками и маркетплейсами. Интерфейс отличается между версиями, поэтому точное расположение поля стоит уточнять в документации к вашей конфигурации.

Токены для собственного HTTP-сервиса

При публикации собственного HTTP-сервиса на веб-сервере токен проверяется в коде метода. Типовая схема: клиент передаёт токен в заголовке Authorization, а обработчик 1С сравнивает его со значением, хранящимся в базе. Не храните токен прямо в коде модуля — при обновлении конфигурации или утечке кода ключ уйдёт вместе с ним.

bsl
Функция ПроверитьТокен(Запрос)
	ТокенИзЗапроса = Запрос.Заголовки.Получить("Authorization");
	ОжидаемыйТокен = Константы.ТокенВнешнегоСервиса.Получить();
	Возврат ТокенИзЗапроса = "Bearer " + ОжидаемыйТокен;
КонецФункции

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

Токен равнозначен паролю: любой, кто его знает, получает доступ с правами этого ключа. Поэтому правила обращения с токенами — это правила обращения с секретами, и нарушать их не стоит даже «на время теста».

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

Типичные ошибки
01
Хранение токена прямо в коде модуля — при выгрузке конфигурации или передаче кода стороннему разработчику ключ утекает.
02
Один общий токен на все интеграции — при компрометации приходится экстренно перенастраивать всё сразу.
03
Выдача токену полных прав «про запас» — утечка такого ключа даёт злоумышленнику максимум возможностей.
04
Игнорирование истёкшего access token — обмен внезапно падает с ошибкой 401, а причина ищется часами.
05
Передача токена по HTTP без шифрования — ключ перехватывается в открытом трафике.

Что делать, если токен не работает

Самая частая ситуация — обмен внезапно перестаёт работать, а в журнале регистрации или логе ошибок виден отказ в авторизации. Диагностику стоит вести последовательно, от простого к сложному.

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

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

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

Ответ сервиса на тестовый запрос
Норма

Код 200 и ожидаемые данные в ответе

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

Код 401 или 403 — проблема с токеном или правами

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

Ключ действителен, дата перевыпуска известна

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

Токен истёк или отозван в личном кабинете

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

Сеансы обмена завершаются без ошибок авторизации

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

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

Скопированное значение ключа
Норма

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

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

Обрезанный ключ или лишние символы в поле настройки

Если токен в порядке, а обмен не работает, смотрите шире: доступность самого сервиса, сетевые ограничения (файрвол, прокси), корректность адреса API. Изменения на стороне сервиса — новая версия API, смена адреса — тоже типичная причина внезапных отказов.

Маршрут решения

Как выбрать действие

Ошибка 401 при каждом запросеПеревыпустите токен в личном кабинете сервиса и обновите его в настройках 1С
Ошибка 403 при конкретной операцииПроверьте права ключа и выдайте недостающее разрешение
Обмен работал и внезапно сломался без изменений с вашей стороныПроверьте срок жизни токена и новости сервиса о смене версии API
Токен засвечен в письме или кодеНемедленно отзовите ключ, выпустите новый и перенесите его в защищённое хранилище

Аппаратный токен лицензии 1С: отдельный случай

Когда говорят «токен 1С» в контексте «сервер не видит токен», речь часто идёт о USB-ключе защиты HASP, в котором хранится программная лицензия платформы. Это физическое устройство, а не строка для API. Если 1С выдаёт ошибку «не обнаружен ключ защиты программы», проверяют: вставлен ли ключ в порт, установлен ли драйвер ключа (HASP Device Driver / Sentinel), запущен ли менеджер лицензий при сетевом варианте раздачи ключей.

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

Итог

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

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

Частые вопросы о токенах в 1С

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

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

Где в 1С хранить токен, чтобы он был в безопасности?

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

Что означает ошибка 401 при обмене?

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

Нужно ли регулярно менять токены?

Обязательной ротации нет, но разумно перевыпускать ключи при уходе сотрудника, имевшего к ним доступ, при смене подрядчика-разработчика и после любого инцидента безопасности. Некоторые сервисы ограничивают срок жизни ключей принудительно.

Один токен на несколько баз 1С — это нормально?

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

Что делать, если 1С не видит USB-ключ лицензии?

Проверьте, что ключ физически подключён и светодиод на нём горит, переустановите драйвер HASP, при сетевой схеме убедитесь, что менеджер лицензий запущен и доступен по сети. Если ключ вставлен в сервер виртуализации, проверьте проброс USB-устройства в виртуальную машину.