- From: Lucas Garron via GitHub <sysbot+gh@w3.org>
- Date: Sun, 16 Jan 2022 19:42:41 +0000
- To: public-webauthn@w3.org
> These are the kinds of good questions I figured we'd get to in a PR after I gauged sufficient (current) interest in the idea of serialization helpers to attempt to make a change to the spec. I'm sure there are a few opinions about where values like `transports` should go in a serialized representation of the `PublicKeyCredentials` we get back from `.create()` and `.get()` and I believe together we can get to something that makes sense.
For what it's worth, `@github/webauthn-json` [uses a JSON-based schema to keep track of the necessary conversions](https://github.com/github/webauthn-json#schema), and you can get the current schema using:
```shell
npx @github/webauthn-json schema
```
As of `v0.6.3`, the schema is:
<details><pre>
{
"credentialCreationOptions": {
"publicKey": {
"required": true,
"schema": {
"rp": {
"required": true,
"schema": "copy"
},
"user": {
"required": true,
"schema": {
"id": {
"required": true,
"schema": "convert"
},
"name": {
"required": true,
"schema": "copy"
},
"displayName": {
"required": true,
"schema": "copy"
}
}
},
"challenge": {
"required": true,
"schema": "convert"
},
"pubKeyCredParams": {
"required": true,
"schema": "copy"
},
"timeout": {
"required": false,
"schema": "copy"
},
"excludeCredentials": {
"required": false,
"schema": [
{
"type": {
"required": true,
"schema": "copy"
},
"id": {
"required": true,
"schema": "convert"
},
"transports": {
"required": false,
"schema": "copy"
}
}
]
},
"authenticatorSelection": {
"required": false,
"schema": "copy"
},
"attestation": {
"required": false,
"schema": "copy"
},
"extensions": {
"required": false,
"schema": {
"appid": {
"required": false,
"schema": "copy"
},
"appidExclude": {
"required": false,
"schema": "copy"
},
"credProps": {
"required": false,
"schema": "copy"
}
}
}
}
},
"signal": {
"required": false,
"schema": "copy"
}
},
"publicKeyCredentialWithAttestation": {
"type": {
"required": true,
"schema": "copy"
},
"id": {
"required": true,
"schema": "copy"
},
"rawId": {
"required": true,
"schema": "convert"
},
"response": {
"required": true,
"schema": {
"clientDataJSON": {
"required": true,
"schema": "convert"
},
"attestationObject": {
"required": true,
"schema": "convert"
},
"transports": {
"required": true,
"schema": "copy"
}
}
},
"clientExtensionResults": {
"required": true,
"schema": {
"appid": {
"required": false,
"schema": "copy"
},
"appidExclude": {
"required": false,
"schema": "copy"
},
"credProps": {
"required": false,
"schema": "copy"
}
}
}
},
"credentialRequestOptions": {
"mediation": {
"required": false,
"schema": "copy"
},
"publicKey": {
"required": true,
"schema": {
"challenge": {
"required": true,
"schema": "convert"
},
"timeout": {
"required": false,
"schema": "copy"
},
"rpId": {
"required": false,
"schema": "copy"
},
"allowCredentials": {
"required": false,
"schema": [
{
"type": {
"required": true,
"schema": "copy"
},
"id": {
"required": true,
"schema": "convert"
},
"transports": {
"required": false,
"schema": "copy"
}
}
]
},
"userVerification": {
"required": false,
"schema": "copy"
},
"extensions": {
"required": false,
"schema": {
"appid": {
"required": false,
"schema": "copy"
},
"appidExclude": {
"required": false,
"schema": "copy"
},
"credProps": {
"required": false,
"schema": "copy"
}
}
}
}
},
"signal": {
"required": false,
"schema": "copy"
}
},
"publicKeyCredentialWithAssertion": {
"type": {
"required": true,
"schema": "copy"
},
"id": {
"required": true,
"schema": "copy"
},
"rawId": {
"required": true,
"schema": "convert"
},
"response": {
"required": true,
"schema": {
"clientDataJSON": {
"required": true,
"schema": "convert"
},
"authenticatorData": {
"required": true,
"schema": "convert"
},
"signature": {
"required": true,
"schema": "convert"
},
"userHandle": {
"required": true,
"schema": "convert"
}
}
},
"clientExtensionResults": {
"required": true,
"schema": {
"appid": {
"required": false,
"schema": "copy"
},
"appidExclude": {
"required": false,
"schema": "copy"
},
"credProps": {
"required": false,
"schema": "copy"
}
}
}
},
"version": "0.6.3"
}
</pre></details>
--
GitHub Notification of comment by lgarron
Please view or discuss this issue at https://github.com/w3c/webauthn/issues/1683#issuecomment-1013939175 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Sunday, 16 January 2022 19:42:43 UTC