Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revise §9.5. "Authenticator extension processing" #776

Merged
merged 7 commits into from
Feb 7, 2018

Conversation

emlun
Copy link
Member

@emlun emlun commented Feb 6, 2018

This aims to fix #775.

I'm not entirely happy with it, but I think it's at least an improvement of section §9.5. What bugs me most is that it feels like "the result of authenticator extension processing" could be taken to mean processing the entire map or just one of the key/value pairs. It feels like it should be possible to rephrase the

Let processedExtensions be the result of authenticator extension processing for each supported extensionIdauthenticatorExtensionInput in extensions.

steps of the authenticator operations so they don't require iterating over the map, but "authenticator extension processing" currently refers specifically to the processing for a single extension.


Preview | Diff

@nadalin
Copy link
Contributor

nadalin commented Feb 6, 2018

@selfissued @equalsJeffH Can you all please review as soon as possible

Copy link
Contributor

@selfissued selfissued left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of this is OK but some of it is incorrect. Please revise per the comments.

index.bs Outdated
1. Let |processedExtensions| be the result of [=authenticator extension processing=] for each supported [=extension
identifier=]/input pair in |extensions|.
1. Let |processedExtensions| be the result of [=authenticator extension processing=] [=map/for each=] supported <var
ignore>extensionId</var> → <var ignore>authenticatorExtensionInput</var> in |extensions|.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you remove the indexed term [=extension identifier=]? If anything, I think this should say "... supported [=extension identifier=] -> [=authenticator extension input=] pair". Please keep the indexed term and add the second one.

Also, why were you using "var ignore"? I don't understand your goals here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made this change to closer reflect the usage description of map/for each in Infra. The ignore on the <var>s was then necessary to make Bikeshed not complain about that the variables were only used once.

I'll change that back to using the indexed terms.

index.bs Outdated
@@ -3562,7 +3562,7 @@ extension=] that does not otherwise require any result values MUST return a valu
An extension defines one or two request arguments. The <dfn>client extension input</dfn>,
which is a value that can be encoded in JSON, is passed from the [=[RP]=] to the client
in the {{CredentialsContainer/get()}} or {{CredentialsContainer/create()}} call,
while the [=CBOR=] <dfn>authenticator extension input</dfn> is
while the [=CBOR=] [=authenticator extension input=] is
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disagree with removing the dfn here and moving it to the processing steps. It makes more sense here. Please revert this change.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. The reason I did this was so that the <dfn> would be in the same section as the corresponding one for the authenticator outputs.

index.bs Outdated
[=authenticator extension=] is included in the extensions data part of the authenticator request. This part is a CBOR map, with
[=CBOR=] [=extension identifier=] values as keys, and the [=CBOR=] [=authenticator extension input=] value of each extension as
the value.
The [=CBOR=] <dfn>authenticator extension input</dfn> value of each processed [=authenticator extension=] is included in the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the "dfn" here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok.

index.bs Outdated

Likewise, the extension output is represented in the [=authenticator data=] as a CBOR map with [=CBOR=] [=extension
identifiers=] as keys, and the [=CBOR=] <dfn>authenticator extension output</dfn> value of each extension as the value.
Likewise, the <dfn>authenticator extension output</dfn> value of each processed [=authenticator extension=] is represented by one
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just wrong. The "authenticator extension output" is the value of the key/value pair. You're using the term in a way that makes it sound like it's both the key and the value. Please revert this change.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yes, sorry.

Copy link
Contributor

@selfissued selfissued left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fine now. Thanks for making the updates.

@emlun
Copy link
Member Author

emlun commented Feb 6, 2018

@selfissued Thanks for reviewing. Do you mind if I squeeze #778 in as well?

Copy link
Contributor

@equalsJeffH equalsJeffH left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thx!

@selfissued
Copy link
Contributor

I will merge this on Friday unless @gmandyam objects by then.

@gmandyam
Copy link

gmandyam commented Feb 7, 2018

I am fine with the proposed text. Please merge now.

@selfissued selfissued merged commit 42cc9dc into master Feb 7, 2018
@emlun emlun deleted the issue-775-authnr-ext-input branch February 7, 2018 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

§9.5. "Authenticator extension processing" is ambiguous
5 participants