283просмотров
32.0%от подписчиков
13 марта 2026 г.
Score: 311
Пример реализации двухфакторной авторизации на 1С 8.3.21 &НаСервере
Процедура СозданиеШаблонаНастроекВторогоФактораАутентификации() // кнопка в обработке ШаблонНастроек = ШаблоныНастроекВторогоФактораАутентификации.СоздатьШаблон(); Запрос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 Запрос с кодом для авторизации НастройкаВФА.Параметры = ПараметрыНастройки; //Задаем значение настройки МассивНастроек = Новый Массив; МассивНастроек.Добавить(НастройкаВФА); //задаем массив настроек, тут важно, что это массив, а значит можно указать несколько настроек аутентификации Пользователь.НастройкиВторогоФактораАутентификации = МассивНастроек; //Устанавливаем настройки пользователю Пользователь.ОбработкаНастроекВторогоФактораАутентификации = ТипОбработкиНастроекВторогоФактораАутентификации.ИспользоватьСледующуюПриОшибке; //что делать при некорректном вводе кода Пользователь.Записать(); КонецПроцедуры 👉@DevLab1C