Contact emails
ke...@chromium.org, der...@google.comExplainer
https://github.com/w3c/webauthn/wiki/Explainer:-WebAuthn-immediate-mediationSpecification
https://github.com/w3c/webauthn/pull/2291Design docs
https://github.com/w3c/webauthn/wiki/Explainer:-WebAuthn-immediate-mediationSummary
A new mode for navigator.credentials.get() that causes browser sign-in UI to be displayed to the user if there is a passkey or password for the site that is immediately known to the browser, or else rejects the promise with NotAllowedError if there is no such credential available. This allows the site to avoid showing a sign-in page if the browser can offer a choice of sign-in credentials that are likely to succeed, while still allowing a traditional sign-in page flow for cases where there are no such credentials.Blink component
Blink>WebAuthenticationWeb Feature ID
webauthnMotivation
Most sign-in experiences on the web use sign-in pages that offer multiple options for accessing an account, such as username/password input fields, federated sign-in buttons, and sometimes explicit WebAuthn or passkey buttons. When the browser is aware of passkeys or passwords that the user has for the site, this API mode makes the sign-in page unnecessary by instead showing simple browser account selection UI when the user begins a sign-in attempt. Signing in with this flow reduces friction and avoids user confusion from having to remember which sign-in option they have used previously on a given site. The main difference between this and current modal WebAuthn sign-in UI is that for users without any such credentials, no browser UI will be shown, and their sign-in experience will be unchanged from what it is today (typically, a navigation to the site's sign-in page).
Initial public proposal
https://github.com/w3c/webauthn/issues/2228TAG review
https://github.com/w3ctag/design-reviews/issues/1092
TAG has closed its review with unsatisfied on the basis that they do not believe a modal browser dialog is preferable to a form for user sign-in experiences. There was extensive discussion of this topic on both the TAG review issue and the WebAuthn WG issue.
This conflicts with the feedback we have received from developers of major relying parties who believe this enables them to build meaningfully better user experiences. They believe that a modal dialog that appears only when passkeys are available will be more successful for users attempting to sign in. Additionally, achieving the goal of signing in a user while keeping them in the current page context is very difficult with the current API.
Apple has stated that it supports the goals of this mode, but has objected on a different basis from TAG. It favors an alternative API form that it believes will have better privacy properties (https://github.com/w3c/webauthn/issues/2228#issuecomment-3443764943).
Notably, Apple's proposal and Immediate mode would be invoked in different situations, and are not mutually exclusive.
Since Immediate mode does not guarantee that UI will be shown on invocation, we maintain flexibility to tweak this later in ways that limit its use.