Repository navigation
Add support for FIDO Convenience MDS - #812
Draft
MasterKale wants to merge 33 commits into
Draft
MasterKale wants to merge 33 commits into
MasterKale wants to merge 33 commits into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR updates
MetadataServiceto support the FIDO Convenience Metadata Service. This service provides localized names and light and dark iconography for credential providers, keyed by the AAGUID they return from WebAuthn.create()calls. This service is intended to help Relying Parties display user-friendly names and icons in RP user self management portals when displaying a user's passkeys.By default, a bare call to
MetadataService.initialize()will now automatically query the FIDO Alliance's official service at https://c-mds.fidoalliance.org. Similar to existing FIDO MDS configuration, two new arguments have been added toinitialize():convenienceMDSServersis an array of URLs to Convenience MDS servicesconveniencePayloadsis an array of locally cached JSON payloads that would otherwise be downloaded from a Convenience MDS serviceAn AAGUID can be passed into the new
MetadataService.getProviderMetadata()method to get the corresponding localized names and icons for that credential provider.TODO
verifyRegistrationResponse()will automatically include matching provider metadata whenMetadataServicehas been initialized and an AAGUID is recognized.Fixes #743.