1С 8.3 Двухфакторная аутентификация - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Двухфакторная аутентификация

Данные > Примеры кода 1С > 1С 8.3 Пользователи, роли (права) доступа
Двухфакторная аутентификация это один из видов идентификации которую поддерживает платформа. Двухфакторная аутентификация требует, чтобы пользователь имел два из трех возможных типов аутентификационных данных. Например: логин / пароль, мобильный телефон, отпечаток пальца.
Пример реализации двухфакторной авторизации на 1С 8.3.21 (автор vоv4ik1212):
&НаСервере
Процедура СозданиеШаблонаНастроекВторогоФактораАутентификации() // кнопка в обработке

  ШаблонНастроек = ШаблоныНастроекВторогоФактораАутентификации.СоздатьШаблон();

  ЗапросHTTP = Новый HTTPЗапрос;
  ЗапросHTTP.АдресРесурса = "&host"; //в этот параметр на следующем шаге запишется адрес куда отправлять HTTP запрос
  ЗапросHTTP.УстановитьТелоИзСтроки("Ваш код &secret","utf-8"); //тут можно изменить текстовку, обязательно ставим кодировку

  ШаблонНастроек.HTTPЗапросНаАутентификацию = ЗапросHTTP;
  ШаблонНастроек.МетодHTTPЗапросаНаАутентификацию = "POST"; //тут или GET, или POST,
 //я в дальнейшем буду запрашивать пароли через POST
  ШаблонНастроек.Имя = "ИмяШаблона"; //задаем имя шаблона, который используем в дальнейшем для назначения пользователю

  ШаблонНастроек.Записать();

  // Ставим галочку в конфигураторе у пользователя
  // (Администрирование->Пользователи->ищем кому поставить) "Аутентификация токеном доступа"

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

&НаСервере
Процедура НазначениеШаблонаВторогоФактораАутентификации()

  Пользователь = ПользователиИнформационнойБазы.НайтиПоИмени("ИмяПользователя"); //ИмяПользователя - меняем на имя пользователя
  НастройкаВФА = Новый НастройкаВторогоФактораАутентификации;
  НастройкаВФА.ИмяШаблонаНастройки = "ИмяШаблона"; //Имя шаблона задавали на 1-ом этапе

  ПараметрыНастройки = Новый Соответствие;
  ПараметрыНастройки.Вставить("host","http://"127.0.0.1/otpavkod/hs/sendpass/?tel=123456789"); //Задаем адрес на который будет отправлен HTTP Запрос с кодом для авторизации
  НастройкаВФА.Параметры = ПараметрыНастройки; //Задаем значение настройки

  МассивНастроек = Новый Массив;
  МассивНастроек.Добавить(НастройкаВФА); //задаем массив настроек, тут важно, что это массив, а значит можно указать несколько настроек аутентификации

  Пользователь.НастройкиВторогоФактораАутентификации = МассивНастроек; //Устанавливаем настройки пользователю
  Пользователь.ОбработкаНастроекВторогоФактораАутентификации = ТипОбработкиНастроекВторогоФактораАутентификации.ИспользоватьСледующуюПриОшибке; //что делать при некорректном вводе кода
  Пользователь.Записать();

КонецПроцедуры
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 20.05.2022
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому