From 281408326a6296a8e744bd9e560e12a23e49fa80 Mon Sep 17 00:00:00 2001 From: Emil Lundberg Date: Wed, 10 Jan 2024 14:20:03 +0100 Subject: [PATCH] Fix references to reserved tokenBinding member Commit 5f45d34abe3e6826f1e676c35a3dc5d349bec2ad in PR #1661 changed the definition type of `CollectedClientData/tokenBinding` from "dict-member" to "dfn" to resolve Bikeshed errors about the member not existing in the `CollectedClientData` definition. However, autolinks to the reserved `tokenBinding` member still use the `{{foo}}` syntax, which is only for IDL types, so the autolinks no longer resolve. This results in Bikeshed instead pulling these autolinks as external refs from the spec database instead of internal refs, which results in an entry being added to the "terms defined elsewhere" index: "[WEBAUTHN-3] defines the following terms: tokenBinding". The changed definition type also changes the generated link anchor from "#dom-collectedclientdata-tokenbinding" to "#collectedclientdata-tokenbinding". This fixes these issues by declaring the link anchor explicitly, for backwards compatibility, and by changing the autolinks to use the `[=foo=]` syntax for autolinks to "dfn"-type definitions. This also fixes the following Bikeshed lint: ``` LINT: Unexported dfn that's not referenced locally - did you mean to export it? tokenBinding tokenBinding ``` --- index.bs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/index.bs b/index.bs index bcd25ceb2..a763f0b4e 100644 --- a/index.bs +++ b/index.bs @@ -3714,15 +3714,17 @@ Note: The {{CollectedClientData}} may be extended in the future. Therefore it's :: This OPTIONAL member contains the inverse of the `sameOriginWithAncestors` argument value that was passed into the [=internal method=]. - : \[RESERVED] tokenBinding + + : \[RESERVED] tokenBinding :: This OPTIONAL member contains information about the state of the [=Token Binding=] protocol [[!TokenBinding]] used when communicating with the [=[RP]=]. Its absence indicates that the client doesn't support token binding - Note: While [=Token Binding=] was present in Level 1 and Level 2 of WebAuthn, its use is not expected in Level 3. The {{CollectedClientData/tokenBinding}} field is reserved so that it will not be reused for a different purpose. + Note: While [=Token Binding=] was present in Level 1 and Level 2 of WebAuthn, its use is not expected in Level 3. The [=CollectedClientData/tokenBinding=] field is reserved so that it will not be reused for a different purpose.
: status - :: This member SHOULD be a member of {{TokenBindingStatus}} but [=client platforms=] MUST ignore unknown values, treating an unknown value as if the {{CollectedClientData/tokenBinding}} [=map/exist|member does not exist=]. When known, this member is one of the following: + :: This member SHOULD be a member of {{TokenBindingStatus}} but [=client platforms=] MUST ignore unknown values, treating an unknown value as if the [=CollectedClientData/tokenBinding=] [=map/exist|member does not exist=]. When known, this member is one of the following:
: supported