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

Reply via email to