====== webauthn ======
===== Web Authentication =====
WebAuthn (Web Authentication) est un standard du World Wide Web Consortium (W3C)1,2 avec la contribution de la FIDO Alliance3 qui propose une interface d'authentification des utilisateurs (UVPA: User Verifying Platform Authenticators) aux applications Web à l'aide de clés asymétriques protégées par l'appareil ou de token [[/glossaire/U2F|U2F]]. Cette interface est une extension de l'API plus générale « Credential Management » qui définit comment les navigateurs Web ou autres agents utilisateur doivent interagir avec un gestionnaire de mots de passe. Standard soutenu par l’alliance [[/glossaire/FIDO|FIDO]].
* [[wpfr>WebAuthn]]
* https://webauthn.guide
* [[https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API|Web Authentication API]] at MDN (//Mozilla Developer Network//)
* https://github.com/webauthn-open-source
* User Verifying Platform Authenticators (UVPA).
En rapport avec [[/glossaire/passkey]]
Discussions
* dans les commentaires de https://dev.to/dagnelies/passkeys-webauthn-library-v20-is-there-6c9
==== Démos ====
Checks:
* https://featuredetect.passkeys.dev/
Démos:
* https://whatpwacando.today/authentication/
* https://webauthn.passwordless.id/demos/basic.html
* https://webauthn.io/
* https://www.passkeys.io/
* https://webauthn.me/
Note: Il faut stocker les clés crypto, donc le phone doit être connecté à Google, Samsung ou autres services Proton Pass Key or 1Password or Bitwarden ... Sinon le système demande un token via USB, NFC ou un QRCode avec url FIDO.
==== Tests ====
Tests à refaire pour Android car les ServicesGooglePlay sont sollicités et peut-être désactivés ou manquant d'autorisation sur mes appareils ...
Tests at https://featuredetect.passkeys.dev/
* PPA : [[https://w3c.github.io/webauthn/#passkey-platform-authenticator|Passkey Platform Authenticator]]
* UVPA : [[https://w3c.github.io/webauthn/#user-verifying-platform-authenticator|User Verifying Platform Authenticator]]
* HT : [[https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda|Hybrid Transports]]
* GCC : [[https://w3c.github.io/webauthn/#sctn-getClientCapabilities|Get Client Capabilities]]
* CG : [[https://passkeys.dev/docs/reference/terms/#autofill-ui|Conditional Get (Autofill UI)]]
* WPCO: [[https://whatpwacando.today/authentication/|WebAuthn demo]]
^ Phone & System ^ Browser ^ PPA ^ UVPA ^ HT ^ GCC ^ CG ^
| Samsung A05s, **Android 14** | Firefox 132.0.2 | Ok | Ok | Unknow | Not | Not |
| Samsung A41, **Android 12** | Firefox 132.0.2 | Not | Not | Unknow | Not | Not | Ok |
=== Ne fonctionne pas avec Android 12 ===
I does not work with Samsung A41 Android 12 with Chrome 128 & Firefox 132
The "new registration" does not work, it throw "The operation either timed out or was not allowed." at https://webauthn.lubu.ch/_test/client.html and it does not work too on https://webauthn.io/, https://www.passkeys.io/, https://webauthn.me/ 😞
Tickets
* https://github.com/yackermann/awesome-webauthn/issues/112
* https://github.com/duo-labs/webauthn.io/issues/146
* https://github.com/duo-labs/py_webauthn/issues/138
* https://github.com/lbuchs/WebAuthn/issues/93#issuecomment-2491259058
Sur un iPhone SE sans compte Apple activé, il demande l'activation du trousseau iCloud pour enregistrer les clés
{{ :informatique/webauthn/apple_safari_cloud_account_small.jpg?200&nolink|}}