Nice summary, thanks Brian!

I think there is a third issue as well, i.e. what the use case for client_id
actually is.

I think Chuck's use case has client_id used to disambiguate the purpose of
the SAML assertion.  We have a similar use case, both for SAML assertions
and three-legged OAuth approvals, but I don't think overloading client_id
for that is wise.

Cheers,
Brian

On Thu, Jul 8, 2010 at 3:34 PM, Chuck Mortimore
<cmortim...@salesforce.com>wrote:

>  That sounds like a very accurate description to me.
>
> -cmort
>
>
>
> On 7/8/10 3:27 PM, "Brian Campbell" <bcampb...@pingidentity.com> wrote:
>
> Maybe I'm the only one having a hard time following this thread but I
> suspect I'm not alone.   I'm going to try and just summarize the
> issues - mostly for my own edification but hopefully this may help
> others too.  Please let me know if I'm off base.
>
> The thread originally started with a discussion of the assertion grant
> type as it's now called in -09 section 4.1.3 @
> http://tools.ietf.org/html/draft-ietf-oauth-v2-09#section-4.1.3 and
> there seemed to be two points of contention specifically about it:
>
> 1) Should returning a refresh token be allowed?   Currently the text
> in that section says, "The authorization server SHOULD NOT issue a
> refresh token."   Some folks feel that is sufficient but some feel it
> should be a MUST NOT.
>
> 2) Should client authentication be required/optional/forbidden when
> requesting an access token via an assertion grant type.   The text in
> -09 makes it sound like it might be mandatory (because of text in
> http://tools.ietf.org/html/draft-ietf-oauth-v2-09#section-4 maybe?).
> No one thinks mandatory is a good idea.  Eran indicated that the
> intent was for it to be optional and -10 would reflect that.   Some
> people feel that client authentication in the assertion grant type is
> necessary/confusing and should explicitly forbidden rather than just
> optional.
>
>
> More recently the thread has turned to a discussion of client
> authentication and if/how the spec should allow for clients to
> authenticate themselves to the token endpoint using means other than
> the client_secret.  Section 2
> http://tools.ietf.org/html/draft-ietf-oauth-v2-09#section-2 leaves the
> means of client authentication pretty open, it seems, but then only
> provides normative guidance for "Basic Client Credentials" in section
> 2.1 http://tools.ietf.org/html/draft-ietf-oauth-v2-09#section-2.1
>
> I believe that Yaron is auguring for a something that might become a
> section 2.2 called "Assertion Client Credentials."  But this is not
> related to the assertion grant type (especially if client
> authentication is forbidden from that grant type request).
>
>
> How's my characterization of this?  If it's accurate, I think there's
> value in realizing that there are two pretty distinct issues in
> question here and I feel like some of the conversations around
> "assertions" have been confused by mixing the two.  I'm not, at this
> point, arguing the merits of anything - just first trying to make sure
> we are arguing about the same things.
>
> -Brian Campbell
>
> On Thu, Jul 8, 2010 at 1:32 PM, Yaron Goland <yar...@microsoft.com> wrote:
> > Here is what I think happened.
> >
> > In OAuth WRAP section 5.2.3 the wrap_assertion and wrap_assertion_format
> arguments were used to allow clients to authenticate themselves to token
> endpoints in two legged OAuth scenarios.
> >
> > In OAuth 2.0 two legged OAuth as a separate definition was removed and
> instead merged into three legged OAuth (something that I think is a
> feature). But in making this transition the original wrap_assertion and
> wrap_assertion_format arguments got turned into assertion_type and
> assertion.
> >
> > But (and this part is tricky so please read carefully) assertion_type and
> assertion were part of the grant_type structure which was not used for AuthN
> (the way client_id/client_secret are) but rather for AuthZ (like refresh
> tokens).
> >
> > Having assertion/assertion_type was still a very good improvement in the
> protocol since we have plenty of real world scenarios where we need to use
> assertions for AuthZ but the change left  a big hole - how do use an
> assertion for AuthN?
> >
> > That's where the client_assertion/client_assertion_type come in.
> >
> > So the whole confusion really seems to have come about because OAuth in
> doing a good thing (unifying 2 and 3 legged patterns) ended up moving
> assertions from AuthN to AuthZ, which was actually a new (and useful)
> feature but as a consequence created a hole that didn't exist with WRAP when
> dealing with AuthN.
> >
> > So by putting in client_assertion/client_assertion_type and keeping
> assertion/assertion_type we get the best of all worlds. We can now use
> assertions for both AuthN and AuthZ.
> >
> >        Yaron
> >
> >> -----Original Message-----
> >> From: oauth-boun...@ietf.org 
> >> [mailto:oauth-boun...@ietf.org<oauth-boun...@ietf.org>]
> On Behalf
> >> Of Brian Eaton
> >> Sent: Wednesday, July 07, 2010 2:03 PM
> >> To: Eran Hammer-Lahav
> >> Cc: Hannes Tschofenig; OAuth WG
> >> Subject: Re: [OAUTH-WG] assertion profile changes
> >>
> >> On Wed, Jul 7, 2010 at 1:08 PM, Eran Hammer-Lahav
> >> <e...@hueniverse.com> wrote:
> >> > It is pretty much the same as originally proposed. Any recent changes
> >> > are an oversight, not any intentional change. Since it was proposed,
> >> > the only change made (with full consensus) was to allow client
> >> > authentication as an optional request parameter, as well as allow a
> >> > refresh token as an optional response parameter.
> >>
> >> Can you point me to the e-mail threads that reached consensus on using
> >> client authentication?
> >>
> >> Can you point me to the e-mail threads that reached consensus on
> returning
> >> a refresh token?
> >> _______________________________________________
> >> 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
>
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to