Closed yackermann closed 2 years ago
Speaking for myself, it would have made much more sense if instead of calling the metadata service test inputs "endpoints", they were referred to as custom metadata table of contents objects, which must be parsed per the metadata TOC object processing rules, with valid metadata statements stored in a dictionary. When the tests are run, that dictionary must be used when processing incoming attestation responses, with authenticators missing from the dictionary or having an undesirable authenticator status being rejected.
Figuring out that had to load the metadata statements from the conformance tool into that same dictionary without a TOC was much easier, but it still would be nice to have some direction for that as well.
I found this to be quite confusing to implement with no documentation available, needing to use a combination of trial and error, and looking at how the .net library does certain things.
Did I miss anything? 😕 I looked here:
For https://github.com/cedarcode/webauthn-ruby I've arrived at something that does this:
application/json
POST request to https://fidoalliance.co.nz/mds/getEndpoints
with { "endpoint": "my endpoint" }
as the request body - similar to what the https://fidoalliance.co.nz/mds/ website does.result
key. For each one, make an application/json
GET request and try to process it according to the Metadata Service processing rules. Most of these JWTs will fail processing because they're invalid somehow.
Implementors seem to be getting confused about our test policy. Would be good idea to add clarifications.