Получи случайную криптовалюту за регистрацию!

Пример реализации двухфакторной авторизации на 1С 8.3.21 &На | Книги для программистов

Пример реализации двухфакторной авторизации на 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 Запрос с кодом для авторизации
НастройкаВФА.Параметры = ПараметрыНастройки; //Задаем значение настройки

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

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

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


@odin1C_rus