Я работаю над интеграцией сенсорного идентификатора для своего приложения для входа пользователя. так как я собираюсь сохранить имя пользователя и пароль, которые будут использоваться в будущем на ощупь, я обнаружил, что localAuthenticate не будет работать для меня, и мне придется использовать новый ACL для доступа к связке ключей.
Я получил весь код для чтения/записи в связку ключей с помощью ACL. но сейчас я вижу только один вариант "kSecAccessControlUserPresence" для SecAccessControlCreateFlags в SecAccessControlCreateWithFlags(...). это позволяет пользователю документации Apple вернуться к PIN-коду, если он не хочет использовать Touch ID. можно ли разрешить доступ только к этим ключам с сенсорным идентификатором, и если это не удалось, пользователь должен ввести учетные данные вручную?
У меня есть другие альтернативы, но я стараюсь их избегать:
Вариант A: используйте LocalAuthenticate, и я выполню шифрование своих учетных данных в userdeafults, но мне нужно выяснить, где хранить ключ? Любые идеи?
Вариант B: продолжать использовать ACL и цепочку ключей, но мне нужно выяснить, нет ли их, если пользователь использовал PIN-код или сенсорный идентификатор. если они использовали сенсорный идентификатор, тогда я буду использовать информацию, полученную из цепочки для ключей, для входа в систему, если они использовали пин-код, и я снова спрошу их с помощью LocalAuthenticate. если они отменят его, я не войду в систему, если они подтвердят с помощью touch id, я буду использовать учетные данные из цепочки для ключей для входа в систему.
ОБНОВЛЕНИЕ: На случай, если кто-то спросит, почему мне не нужен PIN-код, наши юристы не приняли концепцию четырехзначного PIN-кода как способа доступа к цепочке ключей, где мы храним пароли.