Eran,

I want to support the idea of a minimal specification, that supports the basic use-case with no frills. Successful standards are usually small and with strong focus on a few key use-cases

But the specification does need to point to or document some extensibilty points. Otherwise, implementations will hard-wire the exact form of credential described in the specification and profiles will be viewed as alternatives not as variants. Instead, it would be good if implementations were somewhat "pluggable" with respect to the security credential exchanges between


1) client (SP) and authorization service
2) client (SP) and resource server

I realize this creates more work for the folks actually writing the specification (versus us lurkers) but it does increase the value of this effort by an order of magnitude.

I guess I should take an action to explain how this might be accomplished in the present draft.

- prateek


There is a bit of confusion here.

We had clear consensus that the client credentials are only used to obtain a 
token, not to access protected resources. Some flows use just the client 
identifier, while others use both the identifier and shared secret. The 
assertion flow doesn't use it at all.

We had clear consensus that an asymmetric secret solution, whether it was for 
tokens or client credentials is out of scope. Adding support for a symmetric 
token secret using HMAC was the compromise, since many people consider the 
bearer token approach to be the most likely one to win wide adoption (I'm 
representing consensus, not necessarily agreeing with it).

Extensions are not hacks (unless they are poorly written). Profiles are not hacks. An 
extension saying: "instead of including the 'client_secret', include a 'signature' 
parameter with your request" isn't a hack.

We are still likely to see a PK-based solution in the form of an extension flow 
(for example, the client makes a request where the client identifier is a 
domain name and the request is signed using the client's private key; the 
server verifies the request by getting the client's public key from its 
host-meta document for the domain used in the client identifier). Such a PK 
solution can be a new flow or an extension to existing flows. Either way, it 
will be in a separate document.

We are also likely to see a PK-based solution for token secrets, similar to the 
OAuth RSA approach. However, it is far from clear which private key will be 
used to sign protected resources requests. The client's? A token-specific PK? 
Is this going to be a combination of a token flow and protected resource 
extension? I don't know because I don't have any actual use cases in mind right 
now. But the spec was written to make sure
It will not prevent this from being added later on.

The current client identifier and client secret are what we have wide consensus 
on. We are still discussing how to send these, but from the answers so far, 
there is enough support to keep the parameters in (with or without support for 
sending them using Basic as an alternative method).

EHL


-----Original Message-----
From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On Behalf
Of Paul Madsen
Sent: Wednesday, May 12, 2010 3:57 AM
To: oauth@ietf.org
Subject: Re: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-04.txt

But client_secret is not defined specific to a given flow - its used by the web
server, user name, and client credentials flows.

I can find no mention of the client using the client_secret for crypto
authentication - the text of 5.3 'Crypto Tokens Requests' is very specific to
clients authenticating their resource requests, not their requests to the AS.

Is the client_secret limited to be a bearer token?

This earlier message [1] of Eran's suggests that a crypto authentication was in
scope at one point

"We are still very likely to have a PK-based method for obtaining
*authorization* (a token)"

[1] - http://www.ietf.org/mail-archive/web/oauth/current/msg00654.html

On 5/12/2010 2:29 AM, David Recordon wrote:
Yes, the Client authenticating using a RSA key pair seems like it
should be a different flow.

On Tue, May 11, 2010 at 11:25 PM, Eran Hammer-
Lahav<e...@hueniverse.com>  wrote:
But it is not beyond the scope. We define a parameter just for that called
client_secret. If you want to use something else, you need to define an
extension that replaces that with something else.
EHL


-----Original Message-----
From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On
Behalf Of axel.nenn...@telekom.de
Sent: Tuesday, May 11, 2010 11:22 PM
To: oauth@ietf.org
Subject: Re: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-04.txt

I suggest a change to

"3.4.  Client Credentials

    When requesting access from the authorization server, the client
    identifies itself using a set of client credentials.  The client
    credentials include a client identifier and an OPTIONAL symmetric
    shared secret.  The means through which the client obtains these
    credentials are beyond the scope of this specification, but usually
    involve registration with the authorization server."

I don't like the "symmetric shared secret" and would like this to be
"beyond the scope of this spec".

I suggest to change that paragraph e.g. to:

"3.4.  Client Credentials

    When requesting access from the authorization server, the client
    authenticates itself using its credentials. The type of credentials
    is beyond the scope of this specification. The means through which
    the client obtains these credentials are beyond the scope of this
    specification, but usually involve registration with the
    authorization server."

-Axel

Ps.
If the client has an e.g. RSA-keypair then it could use the private
key to sign the request and thereby authenticate itself.
The public key would need to be exchanged before out-of-band. Or it
could be a certificate that is e.g. issued by the authorization
server or a party that the authorization server trusts.

-----Original Message-----
From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On
Behalf Of internet-dra...@ietf.org
Sent: Monday, May 10, 2010 7:45 AM
To: i-d-annou...@ietf.org
Cc: oauth@ietf.org
Subject: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-04.txt

A New Internet-Draft is available from the on-line Internet-Drafts
directories.
This draft is a work item of the Open Authentication Protocol
Working Group of the IETF.


       Title           : The OAuth 2.0 Protocol
       Author(s)       : E. Hammer-Lahav, et al.
       Filename        : draft-ietf-oauth-v2-04.txt
       Pages           : 51
       Date            : 2010-05-09

This specification describes the OAuth 2.0 protocol.  OAuth provides
a method for making authenticated HTTP requests using a token - an
identifier used to denote an access grant with specific scope,
duration, and other attributes.  Tokens are issued to third-party
clients by an authorization server with the approval of the resource
owner.  OAuth defines multiple flows for obtaining a token to
support a wide range of client types and user experience.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-oauth-v2-04.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet- Draft.
_______________________________________________
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
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to