Настройка аутентификации в 1С с использование...
-

Настройка аутентификации в 1С с использованием технологии JWT

0
9156
07.06.2024 Анастасия Железнова

Содержание:

1.      Что такое JSON Web Token (JWT)

2.      Преимущества использования JWT в конфигурации системы 1С

3.      Настройка аутентификации в системе программы 1С с использованием JWT

4.      Схема взаимодействия процессов между HTTP-сервисом 1С и базой данных 1С

5.      Настройки в конфигурации системы 1С: Предприятие


В современном мире, где безопасность данных становится все более актуальной, необходимо внедрять современные методы аутентификации и авторизации. Одним из таких методов является использование технологии JSON Web Token (JWT). JWT - это стандартный открытый формат для создания безопасных токенов, которые можно использовать для передачи информации между различными системами.


В этой статье мы рассмотрим, как настроить аутентификацию в 1С с использованием технологии JWT, используя HTTP-сервис, созданный в самой конфигурации 1С.    


1.      Что такое JSON Web Token (JWT)


JWT представляет собой компактный самодостаточный стандартный метод передачи информации между сторонами как строку JSON, закодированную с использованием алгоритма JSON Web Signature (JWS). JWT состоит из трех частей, разделенных точками (.):

1. Заголовок (Header): Содержит информацию о типе токена и алгоритме шифрования.

2. Полезная нагрузка (Payload): Содержит данные пользователя, например, имя, идентификатор, права доступа и т.д.  

3. Подпись (Signature): Используется для проверки подлинности токена и предотвращения его подделки.


2.      Преимущества использования JWT в 1С


Повышенная безопасность: JWT использует алгоритмы шифрования для защиты данных пользователя.

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

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

Совместимость: JWT поддерживается многими языками программирования и платформами.


3.      Настройка аутентификации в системе программы 1С с использованием JWT


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

1. Создание HTTP-сервиса в 1С:

– В конфигураторе 1С необходимо создать новый HTTP-сервис.

– В настройках сервиса необходимо указать имя сервиса, адрес (URL), а также методы, которые будет поддерживать этот сервис.

– Для аутентификации с помощью JWT, как минимум, необходимо создать два метода:

Метод для выдачи JWT-токена: Этот метод будет принимать учетные данные пользователя и возвращать JWT-токен, если они верны.

Метод для проверки JWT-токена: Этот метод будет принимать JWT-токен и проверять его подлинность.


2. Реализация логики методов HTTP-сервиса:

– Для реализации логики методов необходимо использовать язык программирования 1С (1С:Предприятие 8.3) и библиотеку для работы с JWT-токенами.


Метод для выдачи JWT-токена:

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

• Проверяет учетные данные пользователя (например, используя встроенные механизмы аутентификации 1С).

• Если учетные данные верны, генерирует JWT-токен.

• Заполняет полезную нагрузку токена информацией о пользователе, например, его идентификатором, именем, правами доступа.

• Возвращает JWT-токен клиенту.


Метод для проверки JWT-токена:

• Принимает JWT-токен в качестве аргумента.

• Декодирует JWT-токен.

• Проверяет подлинность токена (сверяет подпись с секретным ключом).

• Если токен действителен, возвращает информацию о пользователе (например, его идентификатор, имя, права доступа) из полезной нагрузки JWT-токена.

• Если токен недействителен, возвращает ошибку.


3. Настройка внешнего приложения:

– Внешнее приложение (например, веб-приложение или мобильное приложение) будет взаимодействовать с HTTP-сервисом 1С.

– Необходимо реализовать код, который будет отправлять запросы к HTTP-сервису 1С для получения JWT-токена и проверки его подлинности.

– Внешнее приложение должно отправлять полученный JWT-токен в каждом последующем запросе к HTTP-сервису 1С для аутентификации.   


4.      Схема взаимодействия процессов между HTTP-сервисом 1С и базой данных 1С


Схема взаимодействия между внешним приложением, HTTP-сервисом 1С и базой данных 1С выглядит следующим образом:

1. Внешнее приложение:

– Отправляет запрос к методу “выдачи JWT-токена” HTTP-сервиса 1С, передавая учетные данные пользователя.


2. HTTP-сервис 1С:

– Проверяет учетные данные пользователя.

– Если они верны, генерирует JWT-токен и возвращает его внешнему приложению.


3. Внешнее приложение:

– Получает JWT-токен от HTTP-сервиса 1С.

– Хранит JWT-токен для последующего использования.


4. Внешнее приложение:

– Отправляет запросы к другим методам HTTP-сервиса 1С, передавая JWT-токен в заголовке запроса.


5. HTTP-сервис 1С:

– Проверяет подлинность JWT-токена.   

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

 

5.      Настройки в конфигурации системы 1С: Предприятие


В конфигураторе 1С необходимо выполнить следующие настройки:

1. Создать HTTP-сервис:

– В разделе “Администрирование” -> “Настройки” -> “HTTP-сервисы” необходимо создать новый HTTP-сервис.

– Задать имя, адрес (URL) и методы сервиса.


2. Настроить доступ к HTTP-сервису:

– В разделе “Администрирование” -> “Настройки” -> “Настройка доступа к данным” необходимо разрешить доступ к HTTP-сервису извне.


3. Задать права доступа:

– Необходимо указать, какие пользователи 1С имеют права на доступ к HTTP-сервису.


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


Важно отметить, что данная статья представляет собой только краткий обзор. Для более глубокого понимания и реализации данной технологии необходимо изучить документацию по библиотеке JWT.1C, а также ознакомиться с настройкой HTTP-сервисов в 1С.


Специалист компании "Кодерлайн"

Анастасия Железнова


Обсудить статью в Telegram Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.