Eran,

> I will be publishing -11 this week no matter what shape the draft is in
> as it now includes many normative changes collected over the past few months.

You are probably still editing this text 
(https://github.com/theRazorBlade/draft-ietf-oauth/blob/master/draft-ietf-oauth-v2.txt)
 but here are some comments on the ABNF (mainly in section 6.2 "The 
WWW-Authenticate Response Header Field"):

The "error", "error_description", "error_uri", "scope", and extra parameters in 
a "WWW-Authenticate: OAuth2 ..." header have to appear in this order according 
to the ABNF. I think it would be better if they could appear in any order.

The ABNF implies there will be a extra leading comma (now that the mandatory 
"realm" attribute has been dropped), eg WWW-Authenticate: OAuth2 ,error="xyz".

Defining the "error" value as a <token>, but in double quotes is weird. I 
believe the idea is that header parameter values are either <token>s (no 
quotes) or <quoted-string>s (in double quotes).

The <scope> rule is missing the parameter name: scope = "scope" "=" ...
Its value is also strange. One choice is a <quoted-value>, which doesn't 
involve any quoting!

I think it would be better to simply make all these parameter values 
<quoted-string>s.

I assume the <credentials> and <access-token> rules should be removed as they 
will appear in the other part after the spec split.

Any new parameter value (defined with the <param-value> rule in section 7.3) 
should match <token> | <quoted-string>, not the OAuth-specific <quoted-value> 
rule.

Using <quoted-value> as a parameter value is not really legal as RFC2617 (and 
draft-ietf-httpbis-p7-auth-12) require <token> | <quoted-string> for parameter 
values. <quoted-value> includes characters not in <token>.

I guess it is too late to use space-separated or semicolon-separated 
parameters, instead of comma-separated parameters, to avoid confusion when 
multiple WWW-Authenticate headers are combined as HTTP intermediaries are 
allowed to do (in which case their values are separated with commas). [Not too 
late for OAuth, but too late for HTTP auth in general]



What error is returned when a request has no authentication?
The status code should be a 401 so the closest error is "invalid_token", though 
it is not really appropriate.

It is such a shame a WWW-Authentication response header can give details about 
OAuth errors, but not providing the basic OAuth information such as a user 
authorization URI, a client credential swap URI, and a token refresh URI.

--
James Manger
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to