Автозаполнение логина и пароля в приложении под iOS

149
12 марта 2022, 01:50

Каким образом можно реализовать сохранение пароля в цепочке ключей, чтобы при входе в приложение на экране входа над клавиатурой показывалось подобным образом уведомление?

Answer 1

Короткая выжимка из документации:

  • Вам нужно привязать приложение к вашим сайтам, на которых люди вводят пароли обычно. При этом нужно использовать префикс webcredentials. На сами сайты нужно будет загрузить файл .well-known/apple-app-site-association со списком приложений.
  • Для полей для логина и пароля нужно задать соответствующий тип UITextContentType, будь это .username или .password. Или .newPassword в случае формы регистрации.

Например, так, в случае Swift:

userTextField.textContentType = .username
userTextField.keyboardType = .emailAddress
passwordTextField.textContentType = .password

В случае Xamarin iOS суть та же самая:

_txtField.TextContentType = UITextContentType.OneTimeCode;

Справочник возможных значений в случае Xamarin.

Таким образом если человек имеет сохранённый в связке ключей пароль от вашего сайта, то его же система предложит ввести в самом приложении. Обратное тоже будет работать, то есть так, будто дело происходит на самом вашем сайте.

Конечно, ваш ждёт разочарование если вы хотите чтобы у вас в приложении работало автозаполнение для паролей, сохранённых для сайтов, к которым вы не имеете отношения, например, от vk.com: без разрешения владельцев какого-то сайта невозможно сделать автозаполнение данных входа, и это правильно. Представьте себе что кто-то сделал приложение, которое выдаёт себя за официальное для вашего сайта, на самом деле таким не являясь, вместо этого собирая пароли для каких-то не очень добрых целей. Само собой вы не захотите чтобы пароли можно было легко ввести в этом приложении.

READ ALSO
Юнит-тестирование в геймдеве при наличии сильных зависимостей

Юнит-тестирование в геймдеве при наличии сильных зависимостей

Есть класс TextureRegion2D, который представляет собой прямоугольный фрагмент текстуры и принимает в конструкторе экземпляр Texture2D текстуры, на которой...

183
Получить все результаты из одного документа

Получить все результаты из одного документа

Народ делаю автокомплит, ищу по массиву тэгов в документе , как находится первый подходящий item из массива в результат выводится он , остальные...

67