Thanks Takahiko. Good analysis.
2014-07-23 14:12 GMT-04:00 Takahiko Kawasaki <daru...@gmail.com>: > Hello, > > (1) RFC 6749 > grant_type=authorization_code > response={"access_token":...} > > (2) OpenID Connect Core > grant_type=authorization_code > response={"access_token":..., "id_token":...} > > (3) Currently being discussed > (3)-1 > grant_type=authorization_code > response_type=id_token (a new parameter for the token endpoint) > response={"id_token":...} > > (3)-2 > grant_type=something_new (a new value for the token endpoint) > response={"id_token":...} > > (3)-3 > response_type=something_new (a new value for the authz endpoint) > grant_type=something_new > > However, taking a logical expansion below into account, > > (4) Not being discussed yet, but logically possible > grant_type=password > response={"id_token":...} > > it seems "grant_type" should be treated as a parameter to specify > just a 'flow'. IMHO, what tokens should be included in the response > from the token endpoint should be specified by another different means. > For example, "response_type" (a new parameter for the *token* endpoint) > as suggested by Nat. > > Nat> response_type > Nat> OPTIONAL. A string that expresses what tokens are to be returned > Nat> from the Token Endpoint. Extension specifications may use this > Nat> parameter to explicitly expressing the desire to obtain a > Nat> particular type of token. > > If asked, I would add the following: > > The default value of "response_type" is "token" which means that > an access token is requested. However, when the following conditions > are satisfied, the default value is "token id_token". > > Condition-1: > grant_type=authorization_code > > Condition-2: > The authorization code was issued at the authorization endpoint > with 'openid' scope. > > -- > Best Regards, > Takahiko Kawasaki > > > > 2014-07-24 2:39 GMT+09:00 Mike Jones <michael.jo...@microsoft.com>: > > You need the alternative response_type value (“code_for_id_token” in >> the A4C draft) to tell the Authorization Server to return a code to be used >> with the new grant type, rather than one to use with the >> “authorization_code” grant type (which is what response_type=code does). >> >> >> >> *From:* OAuth [mailto:oauth-boun...@ietf.org] *On Behalf Of *John Bradley >> *Sent:* Wednesday, July 23, 2014 10:33 AM >> *To:* tors...@lodderstedt.net >> >> *Cc:* oauth@ietf.org >> *Subject:* Re: [OAUTH-WG] New Version Notification for >> draft-hunt-oauth-v2-user-a4c-05.txt >> >> >> >> If we use the token endpoint then a new grant_type is the best way. >> >> >> >> It sort of overloads code, but that is better than messing with >> response_type for the authorization endpoint to change the response from >> the token_endpoint. That is in my opinion a champion bad idea. >> >> >> >> In discussions developing Connect we decided not to open this can of >> worms because no good would come of it. >> >> >> >> The token_endpoint returns a access token. Nothing requires scope to be >> associates with the token. >> >> >> >> That is the best solution. No change required. Better interoperability >> in my opinion. >> >> >> >> Still on my way to TO, getting in later today. >> >> >> >> John B. >> >> >> >> >> >> Sent from my iPhone >> >> >> On Jul 23, 2014, at 12:15 PM, tors...@lodderstedt.net wrote: >> >> The "response type" of the token endpoint is controlled by the value of >> the parameter "grant_type". So there is no need to introduce a new >> parameter. >> >> wrt to a potential "no_access_token" grant type. I do not consider this a >> good idea as it changes the semantics of the token endpoint (as already >> pointed out by Thomas). This endpoint ALWAYS responds with an access token >> to any grant type. I therefore would prefer to use another endpoint for the >> intended purpose. >> >> regards, >> Torsten. >> >> >> >> Am 23.07.2014 13:04, schrieb Nat Sakimura: >> >> IMHO, changing the semantics of "response_type" @ authz endpoint this >> way is not a good thing. >> >> >> >> Instead, defining a new parameter "response_type" @ token endpoint, as I >> described in my previous message, >> >> probably is better. At least, it does not change the semantics of the >> parameters of RFC6749. >> >> >> >> Nat >> >> >> >> 2014-07-23 12:48 GMT-04:00 Thomas Broyer <t.bro...@gmail.com>: >> >> No, I mean response_type=none and response_type=id_token don't generate a >> code or access token so you don't use the Token Endpoint (which is not the >> same as the Authentication Endpoint BTW). >> >> With response_type=code_for_id_token, you get a code and exchange it for >> an id_token only, rather than an access_token, so you're changing the >> semantics of the Token Endpoint. >> >> >> >> I'm not saying it's a bad thing, just that you can't really compare none >> and id_token with code_for_id_token. >> >> >> >> On Wed, Jul 23, 2014 at 6:45 PM, Richer, Justin P. <jric...@mitre.org> >> wrote: >> >> It's only "not using the token endpoint" because the token endpoint >> copy-pasted and renamed the authentication endpoint. >> >> >> >> -- Justin >> >> >> >> On Jul 23, 2014, at 9:30 AM, Thomas Broyer <t.bro...@gmail.com> wrote: >> >> >> >> Except that these are about not using the Token Endpoint at all, >> whereas the current proposal is about the Token Endpoint not returning an >> access_token field in the JSON. >> >> >> >> On Wed, Jul 23, 2014 at 4:26 PM, Mike Jones <michael.jo...@microsoft.com> >> wrote: >> >> The response_type "none" is already used in practice, which returns no >> access token. It was accepted by the designated experts and registered in >> the IANA OAuth Authorization Endpoint Response Types registry at >> http://www.iana.org/assignments/oauth-parameters/oauth-parameters.xml#endpoint. >> The registered "id_token" response type also returns no access token. >> >> >> >> So I think the question of whether response types that result in no >> access token being returned are acceptable within OAuth 2.0 is already >> settled, as a practical matter. Lots of OAuth implementations are already >> using such response types. >> >> >> >> -- Mike >> >> >> >> *From:* OAuth [mailto:oauth-boun...@ietf.org] *On Behalf Of *Phil Hunt >> *Sent:* Wednesday, July 23, 2014 7:09 AM >> *To:* Nat Sakimura >> *Cc:* <oauth@ietf.org> >> *Subject:* Re: [OAUTH-WG] New Version Notification for >> draft-hunt-oauth-v2-user-a4c-05.txt >> >> >> >> Yes. This is why it has to be discussed in the IETF. >> >> >> >> Phil >> >> >> >> @independentid >> >> www.independentid.com >> >> phil.h...@oracle.com >> >> >> >> >> >> >> >> On Jul 23, 2014, at 9:43 AM, Nat Sakimura <sakim...@gmail.com> wrote: >> >> >> >> Reading back the RFC6749, I am not sure if there is a good way of >> suppressing access token from the response and still be OAuth. It will >> break whole bunch of implicit definitions like: >> >> >> >> authorization server >> The server issuing access tokens to the client after successfully >> authenticating the resource owner and obtaining authorization. >> >> >> >> After all, OAuth is all about issuing access tokens. >> >> >> >> Also, I take back my statement on the grant type in my previous mail. >> >> >> >> The definition of grant and grant_type are respectively: >> >> >> >> grant >> >> credential representing the resource owner's authorization >> >> >> >> grant_type >> >> (string representing the) type of grant sent to the token endpoint to >> obtain the access token >> >> >> >> Thus, the grant sent to the token endpoint in this case is still 'code'. >> >> >> >> Response type on the other hand is not so well defined in RFC6749, but it >> seems it is representing what is to be returned from the authorization >> endpoint. To express what is to be returned from token endpoint, perhaps >> defining a new parameter to the token endpoint, which is a parallel to the >> response_type to the Authorization Endpoint seems to be a more symmetric >> way, though I am not sure at all if that is going to be OAuth any more. One >> straw-man is to define a new parameter called response_type to the token >> endpoint such as: >> >> >> >> response_type >> >> OPTIONAL. A string representing what is to be returned from the token >> endpoint. >> >> >> >> Then define the behavior of the endpoint according to the values as the >> parallel to the multi-response type spec. >> >> http://openid.net/specs/oauth-v2-multiple-response-types-1_0.html >> >> >> >> Nat >> >> >> >> >> >> >> >> >> >> 2014-07-23 7:21 GMT-04:00 Phil Hunt <phil.h...@oracle.com>: >> >> The draft is very clear. >> >> Phil >> >> >> On Jul 23, 2014, at 0:46, Nat Sakimura <sakim...@gmail.com> wrote: >> >> The new grant type that I was talking about was >> >> "authorization_code_but_do_not_return_access_nor_refresh_token", so to >> speak. >> >> It does not return anything per se, but an extension can define something >> on top of it. >> >> >> >> Then, OIDC can define a binding to it so that the binding only returns ID >> Token. >> >> This binding work should be done in OIDF. Should there be such a grant >> type, >> >> it will be an extremely short spec. >> >> >> >> At the same time, if any other specification wanted to define >> >> other type of tokens and have it returned from the token endpoint, >> >> it can also use this grant type. >> >> >> >> If what you want is to define a new grant type that returns ID Token >> only, >> >> then, I am with Justin. Since "other response than ID Token" is only >> >> theoretical, this is a more plausible way forward, I suppose. >> >> >> >> Nat >> >> >> >> 2014-07-22 14:30 GMT-04:00 Justin Richer <jric...@mit.edu>: >> >> So the draft would literally turn into: >> >> "The a4c response type and grant type return an id_token from the token >> endpoint with no access token. All parameters and values are defined in >> OIDC." >> >> Seems like the perfect mini extension draft for OIDF to do. >> >> --Justin >> >> /sent from my phone/ >> >> >> On Jul 22, 2014 10:29 AM, Nat Sakimura <sakim...@gmail.com> wrote: >> > >> > What about just defining a new grant type in this WG? >> > >> > >> > 2014-07-22 12:56 GMT-04:00 Phil Hunt <phil.h...@oracle.com>: >> >> >> >> That would be nice. However oidc still needs the new grant type in >> order to implement the same flow. >> >> >> >> Phil >> >> >> >> On Jul 22, 2014, at 11:35, Nat Sakimura <sakim...@gmail.com> wrote: >> >> >> >>> +1 to Justin. >> >>> >> >>> >> >>> 2014-07-22 9:54 GMT-04:00 Richer, Justin P. <jric...@mitre.org>: >> >>>> >> >>>> Errors like these make it clear to me that it would make much more >> sense to develop this document in the OpenID Foundation. It should be >> something that directly references OpenID Connect Core for all of these >> terms instead of redefining them. It's doing authentication, which is >> fundamentally what OpenID Connect does on top of OAuth, and I don't see a >> good argument for doing this work in this working group. >> >>>> >> >>>> -- Justin >> >>>> >> >>>> On Jul 22, 2014, at 4:30 AM, Thomas Broyer <t.bro...@gmail.com> >> wrote: >> >>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> On Mon, Jul 21, 2014 at 11:52 PM, Mike Jones < >> michael.jo...@microsoft.com> wrote: >> >>>>>> >> >>>>>> Thanks for your review, Thomas. The "prompt=consent" definition >> being missing is an editorial error. It should be: >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> consent >> >>>>>> >> >>>>>> The Authorization Server SHOULD prompt the End-User for consent >> before returning information to the Client. If it cannot obtain consent, it >> MUST return an error, typically consent_required. >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> I'll plan to add it in the next draft. >> >>>>> >> >>>>> >> >>>>> It looks like the consent_required error needs to be defined too, >> and you might have forgotten to also import account_selection_required from >> OpenID Connect. >> >>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> I agree that there's no difference between a response with >> multiple "amr" values that includes "mfa" and one that doesn't. Unless a >> clear use case for why "mfa" is needed can be identified, we can delete it >> in the next draft. >> >>>>> >> >>>>> >> >>>>> Thanks. >> >>>>> >> >>>>> How about "pwd" then? I fully understand that I should return "pwd" >> if the user authenticated using a password, but what "the service if a >> client secret is used" means in the definition for the "pwd" value? >> >>>>> >> >>>>> (Nota: I know you're at IETF-90, I'm ready to wait 'til you come >> back ;-) ) >> >>>>> >> >>>>> -- >> >>>>> Thomas Broyer >> >>>>> /tɔ.ma.bʁwa.je/ <http://xn--nna.ma.xn--bwa-xxb.je/> >> >>>>> _______________________________________________ >> >>>>> OAuth mailing list >> >>>>> OAuth@ietf.org >> >>>>> https://www.ietf.org/mailman/listinfo/oauth >> >>>> >> >>>> >> >>>> >> >>>> _______________________________________________ >> >>>> OAuth mailing list >> >>>> OAuth@ietf.org >> >>>> https://www.ietf.org/mailman/listinfo/oauth >> >>>> >> >>> >> >>> >> >>> >> >>> -- >> >>> Nat Sakimura (=nat) >> >>> Chairman, OpenID Foundation >> >>> http://nat.sakimura.org/ >> >>> @_nat_en >> >>> >> >>> _______________________________________________ >> >>> OAuth mailing list >> >>> OAuth@ietf.org >> >>> https://www.ietf.org/mailman/listinfo/oauth >> > >> > >> > >> > >> > -- >> > Nat Sakimura (=nat) >> > Chairman, OpenID Foundation >> > http://nat.sakimura.org/ >> > @_nat_en >> >> >> >> >> >> -- >> Nat Sakimura (=nat) >> >> Chairman, OpenID Foundation >> http://nat.sakimura.org/ >> @_nat_en >> >> >> >> >> >> -- >> Nat Sakimura (=nat) >> >> Chairman, OpenID Foundation >> http://nat.sakimura.org/ >> @_nat_en >> >> >> >> >> _______________________________________________ >> OAuth mailing list >> OAuth@ietf.org >> https://www.ietf.org/mailman/listinfo/oauth >> >> >> >> >> >> -- >> Thomas Broyer >> /tɔ.ma.bʁwa.je/ <http://xn--nna.ma.xn--bwa-xxb.je/> >> >> _______________________________________________ >> OAuth mailing list >> OAuth@ietf.org >> https://www.ietf.org/mailman/listinfo/oauth >> >> >> >> >> >> -- >> Thomas Broyer >> /tɔ.ma.bʁwa.je/ <http://xn--nna.ma.xn--bwa-xxb.je/> >> >> >> _______________________________________________ >> OAuth mailing list >> OAuth@ietf.org >> https://www.ietf.org/mailman/listinfo/oauth >> >> >> >> >> >> -- >> Nat Sakimura (=nat) >> >> Chairman, OpenID Foundation >> http://nat.sakimura.org/ >> @_nat_en >> >> >> >> _______________________________________________ >> >> OAuth mailing list >> >> OAuth@ietf.org >> >> https://www.ietf.org/mailman/listinfo/oauth >> >> >> >> >> >> _______________________________________________ >> OAuth mailing list >> OAuth@ietf.org >> https://www.ietf.org/mailman/listinfo/oauth >> >> >> _______________________________________________ >> OAuth mailing list >> OAuth@ietf.org >> https://www.ietf.org/mailman/listinfo/oauth >> >> > > _______________________________________________ > OAuth mailing list > OAuth@ietf.org > https://www.ietf.org/mailman/listinfo/oauth > > -- Nat Sakimura (=nat) Chairman, OpenID Foundation http://nat.sakimura.org/ @_nat_en
_______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth