diff --git a/index.bs b/index.bs index 05cc15006..ca6694b3f 100644 --- a/index.bs +++ b/index.bs @@ -1837,7 +1837,53 @@ credential. It is intended primarily for [RPS] that wish to tightly control the 82 +## Location Extension ## {#uvi-location} +: Extension identifier +:: `webauthn_loc` + +: Client argument +:: The Boolean value `true` to indicate that this extension is requested by the [RP]. + +: Client processing +:: None, except default forwarding of client argument to authenticator argument. + +: Authenticator argument +:: The Boolean value `true`, encoded in CBOR (major type 7, value 21). + +: Authenticator processing +:: If the authenticator does not support the extension, then the authenticator MUST ignore the extension request. + If the authenticator accepts the extension, then the authenticator SHOULD only add this extension data to a packed + attestation or assertion. + +: Authenticator data +:: If the authenticator accepts the extension request, then authenticator data SHOULD provide location data in the form of a + CBOR-encoded map, with the first value being the extension identifier and the second being an array of returned values. The array + elements SHOULD be derived from (key,value) pairings for each location attribute that the authenticator supports. The following is + an example of authenticator data where the returned array is comprised of a {longitude, latitude, altitude} triplet, following the + coordinate representation defined in The W3C Geolocation API + Specification. + +
+ F1 D0 -- This is a WebAuthn packed rawData object + 81 -- TUP and ED set + 00 00 00 01 -- (initial) signature counter + ... -- all public key alg etc. + A1 -- extension: CBOR map of one element + 6C -- Value 1: CBOR text string of 11 bytes + 77 65 62 61 75 74 68 6E 5F 6C 6F 63 -- "webauthn_loc" UTF-8 string + 86 -- Value 2: array of 6 elements + 68 -- Element 1: CBOR text string of 8 bytes + 6C 61 74 69 74 75 64 65 -- “latitude” UTF-8 string + FB ... -- Element 2: Latitude as CBOR encoded double-precision float + 69 -- Element 3: CBOR text string of 9 bytes + 6C 6F 6E 67 69 74 75 64 65 -- “longitude” UTF-8 string + FB ... -- Element 4: Longitude as CBOR encoded double-precision float + 68 -- Element 5: CBOR text string of 8 bytes + 61 6C 74 69 74 75 64 65 -- “altitude” UTF-8 string + FB ... -- Element 6: Altitude as CBOR encoded double-precision float ++ # IANA Considerations # {#iana-considerations} This specification registers the algorithm names "S256", "S384", "S512", and "SM3" with the IANA JSON Web Algorithms registry as