Создание токенов доступа JWT в 1С: обработка с подписью HS256 и проверкой токена

24.06.26

Администрирование - Информационная безопасность

Создание JWT-токена из пользовательского режима + текст для вставки в файл публикации. В форме можно выбрать пользователя, id получателя токена, ключ шифрования (можно сгенерировать там же). Есть проверка подписи по ключу. Также добавил текст для вставки в публикацию базы

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Создание токенов доступа JWT в 1С: своя обработка с подписью HS256 и проверкой токена:
.epf 11,54Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Общее описание обработки

Внешняя обработка для формирования токенов доступа в формате JSON Web Token (JWT, RFC 7519) прямо из информационной базы 1С. Токен подписывается симметричным алгоритмом HS256 (HMAC-SHA256) и пригоден для JWT-аутентификации в HTTP- и Web-сервисах "1С:Предприятие", а также для интерактивного входа пользователя по токену доступа. Дополнительно обработка генерирует случайный ключ подписи, готовый фрагмент файла публикации default.vrd и умеет проверять подпись уже выпущенного токена. 

Тестировалось на платформе 1С:Предприятие 8.5.1 (рекомендуется 8.3.21 и выше, т.к. JWT-аутентификация в платформе появилась начиная с этой версии).

 

Теория: как устроен JWT

JSON Web Token — открытый стандарт (RFC 7519) для создания токенов доступа на основе JSON. Физически это строка из трёх частей, разделённых точкой:

header.payload.signature

Каждая часть кодируется в Base64URL — это обычный Base64, но «безопасный для URL»: символ + заменяется на -/ — на _, а хвостовые = отбрасываются.

Заголовок (header)

Служебный JSON, описывает алгоритм подписи и тип токена:

{
"alg": "HS256",
"typ": "JWT"
}

 

Полезная нагрузка (payload)

JSON с «претензиями» (claims) — данными о субъекте и самом токене. Стандартные имена описаны в разделе 4.1 RFC 7519:

Claim  Назначение

iss

issuer — издатель токена

aud

audience — для кого выпущен токен (получатель)

sub

subject — субъект (идентификатор пользователя)

jti

JWT ID — уникальный идентификатор токена

iat

issued at — момент выпуска (Unix-время, секунды)

nbf

not before — токен недействителен до этого момента

exp

expiration — момент окончания срока действия

Можно добавлять и собственные claim'ы — важно лишь, чтобы имена внутри одного токена были уникальны.

 

Подпись (signature)

Подпись гарантирует, что заголовок и нагрузку не подменяли.

Важно понимать: JWT не шифрует данные. Заголовок и нагрузку может прочитать кто угодно (например, на сайте jwt.io). Подпись лишь защищает от изменения: подделать тело, не зная секретный ключ, невозможно.

 

Где в 1С применяется JWT

  • как способ аутентификации пользователей информационной базы;
  • как способ аутентификации при использовании HTTP- и Web-сервисов;
  • при настройке публикации информационной базы на веб-сервере.

 

Интерфейс обработки

Форма обработки максимально простая.

 

Поля:

  • Сервис (издатель, iss) — имя издателя токена. Должно совпасть с атрибутом name элемента <issuer> в default.vrd.
  • Получатель (aud) — для кого предназначен токен. Должно совпасть с <accessTokenRecepientName> в default.vrd.
  • Пользователь ИБ (sub) — пользователь информационной базы (поле с выпадающим списком всех пользователей базы).
  • Ключ подписи — секретный ключ. Рядом кнопка генерации случайного ключа.
  • Время жизни, сек. — срок действия токена (по умолчанию 3600).

Кнопки и поля вывода:

  • Сформировать — создаёт токен и текст настроек публикации.
  • Токен (JWT) — готовый токен.
  • Настройки default.vrd — готовый фрагмент файла публикации.
  • Проверить подпись — проверяет подпись токена из поля «Токен» текущим ключом.

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.12.238

Вступайте в нашу телеграмм-группу Инфостарт

обработка токен JWT интеграция

См. также

Информационная безопасность Поиск данных ServiceDesk, HelpDesk Журналы и реестры данных 1С 8.3 Россия Бухгалтерский учет Бюджетный учет Налоговый учет Управленческий учет Платные (руб)

Полный контроль над изменениями в 1С без нагрузки на вашу базу. Мгновенный доступ к истории изменений, удобное сравнение и откат данных в один клик. Простой отчет с визуальным отображением изменений Откат на любую версию объекта в два клика История изменения данных хранится во внешней базе

180000 руб.

05.09.2025    4896    1    1    

3

Информационная безопасность Пароли 1С:Предприятие 8 Бесплатно (free)

Все еще храните пароли в базе? Тогда мы идем к вам! Безопасное и надежное хранение секретов. JWT авторизация. Удобный интерфейс. Демо конфигурация. Бесплатно.

30.05.2024    15269    kamisov    19    

66

Информационная безопасность Программист 1С:Предприятие 8 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    23895    AlexeyPROSTO_1C    10    

44

Информационная безопасность Программист 1С:Предприятие 8 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    5218    platonov.e    1    

23

Информационная безопасность Системный администратор 1С:Предприятие 8 1C:Бухгалтерия Россия Абонемент ($m)

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

5 стартмани

24.04.2023    9390    30    soulner    8    

35

Информационная безопасность Системный администратор Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    11635    79    Silenser    18    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user-z99999 78 24.06.26 12:17 Сейчас в теме
А есть механизм отзыва токенов JWT ?
Выдал токен сотруднику, он уволился. Нужно закрыть доступ.

Да, есть время жизни токенов. А как их отзывать (отбирать) ?
2. rinat1c 15 24.06.26 12:47 Сейчас в теме
(1) в вашем случае у самого пользователя снять галочку "авторизация токеном доступа"

в случае с http-сервисами либо менять ключ подписи (тогда все токены, выданные для этого сервиса отвалятся) либо вести их ручной учет - создаем регистр сведений "Отозванные токены", помещаем туда поле jti из полезной нагрузки выданного токена (это по сути id токена) и в модуле http-сервиса проверяем не отозван ли токен
Для отправки сообщения требуется регистрация/авторизация