Skip to content

Cannot unmarshal fido2 metadata blob #455

@rackward

Description

@rackward

Version

0.13.3

Description

When attempting to unmarshal the fido2 metadata blob into metadata.PayloadJSON I receive this error:

json: cannot unmarshal number 34359738368 into Go struct field PatternAccuracyDescriptor.PayloadJSON.entries.metadataStatement.userVerificationDetails.paDesc.minComplexity of type uint32

The docs clearly describe that this should be an unsigned long. However, given that the payload will not unmarshal because of this, it might be that the documentation is incorrect in this case.

Reproduction

  1. Download the fido2 metadata blob
  2. baes64 decode the object
  3. attempt to unmarshal claims into metadata.PayloadJSON object

Expectations

No response

Documentation

pattern accuracy descriptor docs: https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#patternaccuracydescriptor-dictionary

unsigned long definition: https://webidl.spec.whatwg.org/#idl-unsigned-long

blob available at: https://mds3.fidoalliance.org/

Metadata

Metadata

Assignees

No one assigned

    Labels

    status/needs-triageIssues that need to be triaged.status/wont-fixThis will not be worked ontype/bug/third-partyBug with a third party library, dependency, or implementation.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions