Я делаю презентацию по стандарту FIDO2 / Webauthn через несколько дней, и я был рад увидеть эта статья на веб-сайте Yubico, в которой говорится, что Apple добавила поддержку аутентификации FIDO через NFC, как это делает Android уже много лет. Несколько моих коллег пошли на различные тестовые сайты Webauthn (webauthn.me, webauthn.io и т. Д.) На более новом устройстве под управлением iOS 13.1, но все они отображают ошибки, в которых говорится, что браузер не поддерживается (как safari, так и chrome. ). Вам нужно что-то сделать, чтобы включить эту функцию, или мы ждем обновления от Apple, чтобы включить эту функцию?
Каков статус Webauthn в iOS / Safari?
Ответы (4)
Мы тоже этого ждем. Хорошим предзнаменованием является новая поддержка записи NFC, которая была добавлена в 13. JavaScript API WebAuthn также доступен в Safari в качестве экспериментальной функции - он просто еще не выполняет никаких функций FIDO2 / CTAP2.
Я полностью ожидаю увидеть встроенную поддержку (с использованием NFC, Lightning и встроенного PIN / Touch / Face ID) в не столь отдаленном будущем - особенно с учетом того, что Apple поддерживает это, а поддержка настольного Safari хороша.
Вопрос в том, когда ...
Отредактировано и добавлено 15 декабря 2019 г .:
По состоянию на 10 декабря 2019 года Safari на iOS 13.3 поддерживает второй фактор (т. Е. Не без имени пользователя и пароля) с помощью ключей безопасности NFC, Lightning или USB. Я сам протестировал это, используя 2 разных ключа Yubico, поддерживающих NFC.
К сожалению, в настоящее время не похоже, что регистрация через API WebAuthn работает. Он представляет собой подсказку пользовательского интерфейса для подключения или нажатия клавиши, но, похоже, ничего не происходит.
Также пока нет поддержки использования самого телефона в качестве ключа безопасности с помощью PIN-кода, Touch ID или Face ID.
Это все еще важный шаг, и я могу только надеяться, что Apple продолжит расширять поддерживаемый набор функций.
Статья здесь: https://www.yubico.com/2019/12/native-support-for-webauthn-and-fido-is-finally-here-on-iphones-and-ipads/
Обновлено, чтобы добавить объявление для Touch и Face ID на iOS:
https://developer.apple.com/videos/play/wwdc2020/10670/ < / а>
ОБНОВЛЕНИЕ: Начиная с iOS 13.3, в Safari добавлена поддержка WebAuthn. Ключи безопасности, совместимые с WebAuthn, использующие NFC, Lightning или USB, должны работать с текущими реализациями API. Я смог проверить это, используя свой Yubikey 5Ci с помощью Lightning.
Исходный ответ: на данный момент нет поддержки WebAuthn API в iOS / iPadOS, а также нет способа его включить. Насколько мне известно, аутентификация FIDO на iOS в настоящее время работает только для приложений, которые ее интегрировали.
На этой странице вы можете точно увидеть, какие браузеры поддерживают WebAuthn API (или любой другой веб-API) по адресу момент.
Safari с iOS / iPadOS 14 и macOS Big Sur поддерживает WebAuthn с FaceID и TouchID, как было объявлено на WWDC 2020.
https://bugs.chromium.org/p/chromium/issues/detail?id=1101804
- person Thang Le; 02.07.2020
Я использую NFC-ключ (FEITAN ePass FIDO -NFC Security Key) около года с моим iPhone 7, использующим последнюю версию iOS, доступную на нем. Кроме того, Touch ID хорошо работает на моем iPhone 7 и iPad Air 2 (на них нет Face ID, поэтому я не могу это проверить).
Что касается Touch ID, его немного сложно использовать. Это не подходит для регистрации в Safari javascript, если вы используете обратный вызов, а не тот же поток, что и событие кнопки, для вызова navigator.credentials.create({publicKey})
. Обнаружить это было неприятно! Так что никаких setTimeout (register ...) или обещания (.then / await) запустить регистрацию с помощью Touch ID.
Я использую https://www.npmjs.com/package/fido2-lib как резервная библиотека на стороне сервера.