1С:Шина. Авторизация с токеном

29.01.25

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

Практический пример использования авторизации Bearer на 1С:Шина. Рассматривается вариант настройки 1С:Шина для использования по авторизации с использованием токена. Получение идентификатора пользователя, который подключается к шине, и фиксация его действия после подключения. Для тестовой отправки post запросов используется Postman.

Файлы

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

Наименование Скачано Купить файл
Выгрузка с авторизацией по токену
.zip 5,40Mb
2 3 000 руб. Купить

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

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

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

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

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

Статья написана по хроникам внедрения 1С:Шина версии 6.1.6 в Первом Бите на Спортивной.

Начало можно почитать тут, в этой статье дополнение по дополненному функционалу. Вообще статьи независимы.

Источ ники:

  • Официальная документация по продукту 1С:Шина. Ссылка

Описание задачи

Клиент озвучил, что хочет авторизацию логин-пароль не использовать, а чтобы на его http сервисе была авторизация по токену Bearer (описанный функционал также применим и к web сервисам), а также информации при успешной авторизации при подключении к шине должна сохраняться в регистр.

Идем в документацию и получаем метод, но предварительно сделаем ряд настроек по настройкам доступа, это хорошо описано в документации тут, то есть возможность настроить отдельно на http сервис или более детально на отдельный шаблон или еще детальней на отдельный метод.

Я выбрал вариант и выдал права целиком на http сервис, см дальше скрины моих настроек

 

Рисунок 1. Настройка http сервиса

 

Далее для шаблона и для метода оставляем незаполненным

 

Рисунок 2. Настройка шаблона

 

Рисунок 3. Настройка метода

 

Если вы создаете новые элементы, то все будет работать, но я изменял с анонимного варианта (выбрать Разрешено всем) и в документации нашел пункт, что надо выполнить пересчет прав.

Заходите в свое приложение и делаете как указано на рисунке 4, ниже

 

Рисунок 4. Пересчитать права

 

Добавляем пользователя и разрешаем ему доступ к приложению HTTP

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

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

 

Рисунок 5. Создание пользователя

 

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

 

Рисунок 6. Подключение пользователя к приложению

 

и через 3 точки меняем настройки прав у пользователя test2,

 

Рисунок 7. Изменить настройки у пользователя test2

 

и ставим галку

 

Рисунок 8. Предоставление права пользователю на подключение к http сервисам приложения

 

После этого у пользователя генерируем ключи доступа пару clientid и secretid, для этого провалились в пользователя и в разделе ключи доступа нажали получить

 

Рисунок 9. Получение ключей доступа для пользователя

 

clientid вам будет доступен, а вот secretid только раз доступен на этапе получения.

Уже полученные ключи доступа используем в токенах, отправляем POST запрос на url: http://localhost:9090/applications/НазваниеПриложения/sys/token

в Header добавляем

ContentType application/x-www-form-urlencoded

и в тело следующий текст

grant_type=CLIENT_CREDENTIALS

Если все правильно указано, то шина вернет вам 200 ответ и токен, который действует 1 час.

Теперь надо понять, как получить того, кому принадлежит токен при подключении и записать его в РС внутри 1С-шина.

Это то, что я не увидел в документации, но было  получено от техподдержки 1С:Шина.

// Перечисление
конст order = ТипыЗапросов.order

метод ОбработкаЗапроса(Запрос: HttpСервисЗапрос)
знч ТелоЗапросаИзПотока = Запрос.Тело.ПрочитатьКакСтроку()
пер ГуидВызова = новый Ууид()
знч Пользователь = Пользователи.ТекущийПользователь
        //Запись в РС Сообщения из внешних систем.
        //ГуидВызова - уид для сообщения, ДатаЗаписи - дата и время когда была сделана запись, ИсходноеСообщение - тело которое нам пришло
        //Пользователь - элемент справочника Пользователи, под которым подключились к шине и было отправлено  сообщение

        пер Запись = новый СообщенияДляВнешнихСистем.Запись(Период = Момент.Сейчас(), ГуидВызова = ГуидВызова,
                ДатаЗаписи = ДатаВремя.Сейчас(
				ЧасовойПояс {UTC+3}), ИсходноеСообщение = ТелоЗапросаИзПотока, Пользователь = Пользователь, ТипЗапроса = order,
                Обработано = Истина)
        СообщенияДляВнешнихСистем.Записать(Запись)
;

 

Перечисление создается вообще без каких либо сложностей.

РС "СообщенияДляВнешнихСистем", создать с периодом Момент, также имеет следующую структуру:

Измерения:

  • ГуидВызова. ТипУуид
  • Пользователь. ТипНеопределено, ПользовательСсылка

Ресурсы:

  • ИсходноеСообщение. Тип Строка неограниченная
  • Обрабатано. Тип Булево
  • ТипЗапроса. Тип Перечисление.ТипыЗапросов

Реквизиты:

ДатаЗаписи. Тип ДатаВермя

 

Отдельно выгрузку из шины не создавал, если будет потребность, то пишите в комментарии, дополню статью.

Все скрины сделаны на основе сервиса из первоначальной статьи

Еще раз - вся информация есть в статье, настройка несложная, будут вопросы - пишите, подскажу.

Скачивать архив - это тому, кому лень читать и повторять и для поддержки автора.

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

токен авторизация на 1С-Шина идентификация пользователя

См. также

Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    285538    1606    423    

1220

Информационная безопасность Чистка данных Системный администратор Разработчик Руководитель проекта 1С 8.3 1С:Бухгалтерия 3.0 Платные (руб)

Обезличивает копию рабочей базы 1С перед передачей наружу и возвращает настоящие данные обратно, когда база вернулась. Это обратимая псевдонимизация: соответствия «исходное - псевдоним» пишутся в отдельный зашифрованный датасет, который остаётся у владельца. Работает на любой конфигурации - обходит метаданные и находит персональные данные сам, без списка реквизитов под конкретную базу. Суммы, количества, даты и номера документов не трогает никогда, оборотно-сальдовая до и после совпадает до копейки. Проверено на трёх конфигурациях: 106 031 объект, 215 642 замены, ноль ошибок, возврат 100 процентов.

42700 руб.

18.08.2026    1479    3    0    

3

Инструменты администратора БД Роли и права Системный администратор Разработчик Пользователь 1С 8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.04.2026, версия 1.4.1, работает в 1С:ФРЕШ!

23180 руб.

06.12.2023    25055    85    14    

118

Инструменты администратора БД Инструментарий разработчика Роли и права Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    28707    103    46    

107

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    4152    12    0    

25

SALE! 20%

Роли и права 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Универсальная обработка по настройке прав доступа пользователей в 1СЗУП, КА, УТ, ЕРП, ERP, УНФ, Розница, Управление холдингом) и разграничений позволяет в несколько кликов настроить даже самые нестандартные права.

5750 4600 руб.

22.12.2021    38589    209    78    

240

Логистика, склад и ТМЦ Роли и права Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для 1С:Бухгалтерия 3.0, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

5084 руб.

21.05.2019    1703927    607    197    

151

Роли и права Системный администратор Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение предназначено для Бухгалтерии предприятия (версии ПРОФ и КОРП). Типовая конфигурация остается на поддержке. С помощью расширения менеджер по продажам будет иметь доступ к контрагентам и списку их документов только в случае, если он является для них ответственным. Пользователю с полными правами также доступна обработка «Назначение ответственных» для группового добавления/удаления ответственного в карточке контрагента. Есть версия данного расширения для клиентов Fresh - в магазине расширений (Fresh)

9516 руб.

14.09.2022    9385    16    6    

18
Для отправки сообщения требуется регистрация/авторизация