WebAuthn

An introduction into the Authelia roadmap.

WebAuthn requires urgent implementation as Chrome removed support of their U2F API since August 2022. It is a modern evolution of the FIDO U2F protocol and is very similar in many ways. It even includes a backwards compatability extension called the FIDO AppID Extension which allows a previously registered FIDO U2F device to be used with the protocol to authenticate.

Stages

This section represents the stages involved in implementation of this feature. The stages are either in order of implementation due to there being an underlying requirement to implement them in this order, or in their likely order due to how important or difficult to implement they are.

Initial Implementation

complete v4.34.0

Implement WebAuthn as a replacement for FIDO U2F with backwards compatibility.

SettingValueEffect
Conveyancing PreferenceindirectConfigurable: ask users to permit collection of the AAGUID, this is like a model number, this GUID will be stored in the SQL storage
User Verification RequirementpreferredConfigurable: ask the browser to prompt for the users PIN or other verification
Resident Key RequirementdiscouragedSee the passwordless login stage
Authenticator Attachmentcross-platformSee the platform authenticator stage
Multi-Device Registrationunavailablesee the multi device registration stage

Multi Device Registration

in progress v4.38.0

Implement multi device registration as part of the user interface. This is technically implemented for the most part in the backend, it’s just the public facing interface elements remaining.

Platform Authenticator

not started

Implement WebAuthn Platform Authenticators so that people can use things like Windows Hello, TouchID, FaceID, or Android Security Key. This would also allow configuration of the Authenticator Attachment setting most likely, or at least allow admins to configure which ones are available for registration.

Passwordless Login

not started

Implement the WebAuthn flow for Passwordless Login. This would also allow configuration of the Resident Key Requirement setting most likely, or at least allow admins to configure which ones are available for registration.