Passwordless authentication with Yubikey doesn't work
Steps to reproduce
- Add a yubikey to your passwordless options for your account (make sure its your only passwordless option)
- Open the nextcloud app and type your server address
- Go to login with a device
- Type your username and press Enter
- Nothing happens
Expected behaviour
When logging in, it should asks for my Yubikey with an iOS popup. Since its a NFC Yubikey, you shoud approach it from your phone and it will logs in to your account automatically.
Actual behaviour
Nothing happens after trying to log in.
Screenshots
Screenshot isn't needed, it doesn't show any error messages or loading screens.
Logs
today at 22:31:48 #IP# - - [11/Sep/2022:20:31:48 +0000] "POST /login/webauthn/start HTTP/1.1" 200 1014 "-" "iPhone (Nextcloud iOS)"
today at 22:31:48 #IP# - - [11/Sep/2022:20:31:48 +0000] "POST /login/webauthn/finish HTTP/1.1" 500 5704 "-" "iPhone (Nextcloud iOS)"
Reasoning or why should it be changed/implemented?
When using Safari, everything works as expected and the Yubikey NFC works with Nextcloud. It should acts the same for the iOS app.
Environment data
iOS version: iOS 16.0 Beta
Nextcloud iOS app version: 4.4.3.0
Server operating system: Docker
Web server: Apache, nginx
Database:
PHP version:
Nextcloud version: 24.0.5
There are also issues on desktop: https://github.com/nextcloud/server/issues/21289
I can reproduce this.
It seems, without delving too deep, that the WebKit instance doing the logging in doesn't have access to NFC and USB. Maybe it's missing a claim somewhere?
It's possible to work around it via logging in via safari normally and either using app password or the information in the "set up an app" QR-code.