Skip to content

Commit

Permalink
Accept @equalsJeffH's rewrite of #sctn-attachment-from-transports
Browse files Browse the repository at this point in the history
Co-authored-by: =JeffH <jdhodges@google.com>
  • Loading branch information
emlun and equalsJeffH committed Oct 1, 2021
1 parent d562282 commit 183d059
Showing 1 changed file with 10 additions and 24 deletions.
34 changes: 10 additions & 24 deletions index.bs
Expand Up @@ -2430,39 +2430,25 @@ To remove the need to parse CBOR at all in many cases, {{AuthenticatorAttestatio
Note: {{AuthenticatorAttestationResponse/getPublicKey()}} and {{AuthenticatorAttestationResponse/getAuthenticatorData()}} were only added in level two of this spec. [=[RPS]=] SHOULD use feature detection before using these functions by testing the value of `'getPublicKey' in AuthenticatorAttestationResponse.prototype`. [=[RPS]=] that require this function to exist may not interoperate with older user-agents.


#### Determining Authenticator Attachment Options from Credential Transports #### {#sctn-attachments-from-transports}
#### Determining Authenticator Attachment from Credential Transports #### {#sctn-attachments-from-transports}

[INFORMATIVE]

After creating a [=credential=], the [=[RP]=] may wish to know the [=authenticator attachment modality=] of the credential's [=managing authenticator=].
This can be done by inspecting the result of calling {{getTransports()}}.

If the result of {{getTransports()}}
As a part of creating a {{PublicKeyCredential}} object, as the result of a [=registration ceremony|registration=] or [=authentication ceremony=], the [=client platform=] determines the [=authenticator attachment modality=] and reports it in {{PublicKeyCredential/authenticatorAttachment}}. This section defines how to make that determination.

If the client platform
<dl class="switch">
: is [=list/empty=],
:: the [=authenticator attachment modality|attachment modality=] of the credential and its [=managing authenticator=] is unknown.

: [=list/contains=] only {{AuthenticatorTransport/internal}},
:: the credential is a [=platform credential=].
: cannot determine the {{transports}} used or the transport is not a member of {{AuthenticatorTransport}}, then
:: the [=authenticator attachment modality=] is unknown, and the value of {{PublicKeyCredential/authenticatorAttachment}} MUST be set to null.

: is not [=list/empty=] and does not [=list/contain=] {{AuthenticatorTransport/internal}},
:: the credential is a [=roaming credential=].
: used an {{AuthenticatorTransport/internal}} transport, then
:: {{PublicKeyCredential/authenticatorAttachment}} MUST be set to "platform".

: [=list/contains=] both {{AuthenticatorTransport/internal}} and other values,
:: the credential can be used as a [=platform credential=] under some circumstances and a [=roaming credential=] under some circumstances.
Both attachment options may or may not be available at the same time.
: used a {{transports|transport}} that is a member of {{transports}} other than {{AuthenticatorTransport/internal}},
:: {{PublicKeyCredential/authenticatorAttachment}} MUST be set to "cross-platform".

For example, a credential [=created on=] a mobile phone may be available as a [=platform credential=]
when the [=client device=] is that mobile phone,
and as a [=roaming credential=] when the [=client device=] is a laptop computer that can reach the mobile phone via Bluetooth.
</dl>

Note that an [=authenticator's=] [=authenticator attachment modality|attachment modality=] could change over time.
Note: An [=authenticator's=] [=authenticator attachment modality|attachment modality=] could change over time.
For example, a mobile phone might at one time only support [=platform attachment=]
but later receive updates to support [=cross-platform attachment=] as well.


### Web Authentication Assertion (interface <dfn interface>AuthenticatorAssertionResponse</dfn>) ### {#iface-authenticatorassertionresponse}

The {{AuthenticatorAssertionResponse}} interface represents an [=authenticator=]'s response to a client's request for
Expand Down

0 comments on commit 183d059

Please sign in to comment.