Введение
Биометрическая аутентификация становится стандартом для мобильных приложений. В 1С‑мобильной платформе можно быстро интегрировать этот механизм, используя встроенные объекты и методы. Ниже приведён пример кода, демонстрирующий полный цикл проверки пользователя с помощью биометрии.
Основные шаги реализации
1. Проверка поддержки биометрии
&НаКлиенте
Функция ТелефонПоддерживаетБиометрическийВход()
#Если МобильноеПриложениеКлиент Тогда
Попытка
Если ДополнительнаяПроверкаПользователя.ПоддерживаетсяПроверка(СпособДополнительнойПроверкиПользователя.БиометрическаяИлиВводПароля) Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
Исключение
ЗаписьЖурналаРегистрации("Mobile", УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки());
Возврат Ложь;
КонецПопытки;
#КонецЕсли
КонецФункции
2. Запрос разрешения у пользователя
&НаКлиенте
Функция Биометрия()
#Если МобильноеПриложениеКлиент Тогда
Если ТелефонПоддерживаетБиометрическийВход() Тогда
ПоказатьВопрос(Новый ОписаниеОповещения("ТелефонПоддерживаетБиометрическийВходЗавершение", ЭтотОбъект), "Использовать биометрию для входа", РежимДиалогаВопрос.ДаНет);
КонецЕсли;
#КонецЕсли
КонецФункции
3. Обработка ответа пользователя
&НаКлиенте
Процедура ТелефонПоддерживаетБиометрическийВходЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
ПровестиБиометрическийВход();
КонецЕсли;
КонецПроцедуры
4. Запуск биометрической проверки
&НаКлиенте
Процедура ПровестиБиометрическийВход()
#Если МобильноеПриложениеКлиент Тогда
Попытка
СпособПроверки = СпособДополнительнойПроверкиПользователя.ТолькоБиометрическая;
Если ДополнительнаяПроверкаПользователя.ПоддерживаетсяПроверка(СпособПроверки) Тогда
ДопПараметры = Новый Структура;
ОписаниеОповещения = Новый ОписаниеОповещения("ПровестиБиометрическийВходЗавершение", ЭтотОбъект, ДопПараметры);
ДополнительнаяПроверкаПользователя.НачатьПроверку(СпособПроверки, "Введите код", ОписаниеОповещения);
КонецЕсли;
Исключение
ЗаписьЖурналаРегистрации("Mobile", УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки());
КонецПопытки;
#КонецЕсли
КонецПроцедуры
5. Завершение проверки и авторизация
&НаКлиенте
Процедура ПровестиБиометрическийВходЗавершение(ОтмененоПользователем, ДополнительныеПараметры) Экспорт
Попытка
Если НЕ ОтмененоПользователем Тогда
Если ИспользоватьБиометрию = Ложь Тогда
УстановитьИспользоватьБиометрию(Истина);
Иначе
АвторизацияВыполнена = Истина;
Структура = Новый Структура("ВходВыполнен", АвторизацияВыполнена);
ОбщегоНазначенияКлиент.ЗвукУспешногоВвода();
ЭтаФорма.Закрыть(Структура);
КонецЕсли;
КонецЕсли;
Исключение
ЗаписьЖурналаРегистрации("Mobile", УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Обработка ошибок
Во всех частях кода предусмотрена запись в журнал регистрации при возникновении исключений. Это позволяет быстро выявлять проблемы с поддержкой биометрии на конкретных устройствах.
Итог
Внедрение биометрии в мобильное приложение 1С не требует сложных настроек. Следуя приведённому примеру, вы сможете добавить безопасный и удобный способ входа для ваших пользователей.