Новые возможности для аутентификации в 1С:Предприятие 8.3.21

Что такое аутентификация с помощью jwt-токенов и как ее можно будет применить в решениях 1с

Официальный технологический блог «Заметки из Зазеркалья» сообщил о том, что в платформе, начиная с версии 8.3.21, будет доступна аутентификация с помощью JWT-токенов. То есть платформа будет поддерживать ряд новых возможностей для настройки кроссплатформенной интеграции:

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

Авторы заметки указывают на то, что данный механизм аутентификации находит все более широкое распространение, и уже сейчас применяется на портале «Госуслуг» и в системе «Четный знак». В качестве наиболее очевидных преимуществ данного механизма обозначены такие:

  • отсутствие необходимости серверу приложений хранить дополнительные данные о выданных сессиях: все, что должен сделать сервер приложений — это проверить подпись JWT-токена
  • сервер приложений может не заниматься созданием токенов, а предоставить это внешнему серверу аутентификации.
  • JWT-токены делают возможным предоставление одновременного доступа к различным сервисам в том числе серверам приложений, то есть реализовать технологию Single Sign-On (SSO).

1с 8.3 аутентификация по jwt-токену

Процедура Инициализация_JSON_Web_Token(НомерПримера) Экспорт

   // Параметр: НомерПримера – это вариант исполнения 1,2 или 3

   Токен = Новый ТокенДоступа;
   Токен.Эмитент =“БУ”;
   Токен.Получатели.Добавить(“УТ”);
   Токен.ВремяСоздания = ТекущаяУниверсальнаяДата() – Дата(1970,1,1,0,0,0);
   Токен.ВремяЖизни =5400;

   Ключ = Константы.КлючПодписи.Получить();
   Токен.Подписать(АлгоритмПодписиТокенаДоступа.HS256, Ключ);

   // Через параметр запроса “AccessToken” или в заголовке “Authorization”
   // можно передавать токен доступа в формате Base64URL (автоматически конвертируется
   // в строку в формате Base64URL)

Похожее:  Регистрация в ICQ — как создать аккаунт в мессенджере

   Если НомерПримера =1 Тогда
       Запрос = Новый HTTPЗапрос(“http://example.com/hs/testService?AccessToken=” Токен);
   ИначеЕсли НомерПримера =2 Тогда
       Запрос = Новый HTTPЗапрос(“http://example.com/hs/testService”);
       Запрос.ДобавитьТокенДоступа(Токен);
   ИначеЕсли НомерПримера =3 Тогда
       Соотв = Новый Соответствие;
       Соотв.Вставить(“Authorization”,“Bearer “ Токен);
       Запрос = Новый HTTPЗапрос(“http://example.com/hs/testService”, Соотв);
   КонецЕсли;

   // В файле *.vrd можно указать список доверенных эмитентов токена
   // (например, список информационных баз, чьим пользователям разрешен доступ по токену в данную инфобазу)
   // и ключи для проверки подписи.
   //
   // А также настроить правила сопоставления пользователей токена и пользователей информационной базы.
   // (например, если пришел токен с полем ‘vrt’, в котором указан МакейВН,
   // то можно настроить сопоставление с полем “Имя” пользователя ИБ.
   // Также можно настроить сопоставление любого поля токена с полем “Адрес электронной почты”
   // или “Пользователь ОС” пользователя ИБ.

КонецПроцедуры

1с, oauth2, google api и google merchant. сбор данных и парсинг

WEBv81cv8.cfРоссияБесплатно (free)

Цель статьи – указать на подводные камни и нюансы, о которых “не пишут на заборах” и которые встретились мне за время внедрения типового модуля интеграции 1С и Битрикс24. Будет интересна для людей, кто подумывает о том, чтобы настроить интеграцию, и хотят понять, с чем столкнутся. А также для тех, кто уже работает с подобным обменом, столкнулся с какими-то из описанных ситуаций и хочет понять, что пошло не так и “как жить дальше”. Постараюсь все описать “человеческим” языком с минимальной долей терминов, так как статья, надеюсь, будет полезна не только программистам.

07.11.2021   
5694   
freegman74   
13    

Как будет работать новый механизм аутентификации помощью jwt-токенов

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

Для использования JWT-токенов во встроенном языке будет доступен объект ТокенДоступа, свойства которого соответствуют JWT-структуре и имеют понятные имена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *