Page MenuHomePhabricator

Trying to register two identical WebAuthn keys fails without warning
Open, Needs TriagePublic

Description

Steps to reproduce:

  • Visit Special:OATHManage in Google Chrome
  • Add a new WebAuthn key
  • Select Google Password Manager > Continue > Create
  • Do the same one more time.

You end up with an error: Could not verify your key. Please start the registration process again

The actual error (logged to the console) is The user attempted to register an authenticator that contains one of the credentials already registered with the relying party.

The user-visible error is misleading as the error doesn't have anything to do with verifying the existing key.

Event Timeline

(I tested this in incognito mode but don't think it matters.)

Not sure how easy it is to detect what's happening (the exception thrown by navigator.credentials is the very generic InvalidStateError). Would be nice to show the actual error message to the user, at least.

Related spec discussion: Can RPs assume that InvalidStateError for create() means an excludeCredentials match?