Avoid registering the same authenticator twice

This passes existing credentials in the server response, to allow
the browser to prevent re-registering the same key for the same
user. Registering the same key multiple times doesn't seem to be
an issue technically; the user has likely got their keys mixed up.

- Chrome says "you don't need to register it again".
- Safari exits with an InvalidStateError.
- Firefox exits with a DOMException.
This commit is contained in:
Ben Thorner
2021-05-11 14:22:41 +01:00
parent e2cf3e2c70
commit 957dba4356
5 changed files with 27 additions and 9 deletions

View File

@@ -243,7 +243,7 @@ def test_add_user_to_service_calls_correct_endpoint_and_deletes_keys_from_cache(
def test_get_webauthn_credentials_for_user_returns_stubbed_data():
credentials = user_api_client.get_webauthn_credentials_for_user('id')
assert credentials[0]['name'] == 'Ben test'
assert len(credentials) == 0
def test_create_webauthn_credential_for_user_stores_stubbed_data(webauthn_credential):