[OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread Hannes Tschofenig
Here are my notes. Participants: * John Bradley * Derek Atkins * Phil Hunt * Prateek Mishra * Hannes Tschofenig * Mike Jones * Antonio Sanso * Justin Richer Notes: My slides are available here: http://www.tschofenig.priv.at/OAuth2-Security-11Feb2013.ppt Slide #2 summarizes earlier discussio

[OAUTH-WG] Draft IETF#86 Agenda

2013-02-12 Thread Hannes Tschofenig
Hi all, I just wanted to let you know that the draft agenda for the upcoming IETF meeting is available here: https://datatracker.ietf.org/meeting/86/agenda.txt There are two OAuth sessions: * MONDAY, March 11, 2013 1540-1710 Afternoon Session II * THURSDAY, March 14, 2013 1740-1840 Afternoo

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread William Mills
Is key distribution how AS and PR share keys  for token encryption/decryption or specifically about the keys for the HOK tokens? For the MAC token spec, I don't actually care whether we use JSON or now, but I'm in full agreement that we do NOT duplicate any HTTP info into the JSON.   Just signat

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread Hannes Tschofenig
Hi Bill, On Feb 12, 2013, at 11:27 AM, William Mills wrote: > Is key distribution how AS and PR share keys for token encryption/decryption > or specifically about the keys for the HOK tokens? > In order for the client to compute the keyed message digest it needs to have the session key. This

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread William Mills
For key exchange that's true for symmetric key, but no key exchange is required for public key signing by the client. There's so many possibilities here, but I think the best is that the key materiel is conveyed in the token.  The key could be included directly, or another way to implement woul

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread Antonio Sanso
Hi Hannes, how this session key "differs" from the key described in the current draft [0]? Thanks and regards Antonio [0] http://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-02 On Feb 12, 2013, at 10:44 AM, Hannes Tschofenig wrote: > Hi Bill, > > On Feb 12, 2013, at 11:27 AM, William Mi

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread Sergey Beryozkin
Hi Hannes, All, On 12/02/13 09:10, Hannes Tschofenig wrote: Here are my notes. Participants: * John Bradley * Derek Atkins * Phil Hunt * Prateek Mishra * Hannes Tschofenig * Mike Jones * Antonio Sanso * Justin Richer Notes: My slides are available here: http://www.tschofenig.priv.at/OAuth2-S

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread Hannes Tschofenig
The transport of the session key from the authorization server is described in Section 5.1 and is called "mac_key". The mechanism to transport the session key from the authorization server to the resource server is not yet described in the document. This has historical reasons: OAuth 1.0 did n

Re: [OAUTH-WG] Registration: Endpoint Definition (& operation parameter)

2013-02-12 Thread Sergey Beryozkin
Hi Mike, On 12/02/13 01:26, Mike Jones wrote: At most, there should be two endpoints - creation and management - for a client, but the protocol should be structured such that they *can* be at the same URL, if the server so chooses. A simple way to accomplish this is to require that the client_

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread Antonio Sanso
Thanks Hannes On Feb 12, 2013, at 12:06 PM, Hannes Tschofenig wrote: > The transport of the session key from the authorization server is described > in Section 5.1 and is called "mac_key". > > The mechanism to transport the session key from the authorization server to > the resource server is

Re: [OAUTH-WG] Fwd: New Version Notification for draft-richer-oauth-introspection-02.txt

2013-02-12 Thread Justin Richer
OK, I can see the wisdom in changing this term. I picked "valid" because I wanted a simple "boolean" value that would require no additional parsing or string-matching on the client's behalf, and I'd like to stick with that. OAuth is built with the assumption that clients need to be able to rec

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread Justin Richer
I'd be fine with the return from a creation request being a 201 instead of a 200. -- Justin On 02/11/2013 06:33 PM, Richard Harrington wrote: Since the request is an HTTP POST and a resource is created (http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5) the response should be an H

Re: [OAUTH-WG] Registration: Client secret rotation

2013-02-12 Thread Justin Richer
This is actually the approach that I favor now as well -- let the server do the secret rotation if it wants to, and have the client be prepared to receive a new client_secret or registration_access_token on any read or update request. This would necessitate changing the returned values, essent

Re: [OAUTH-WG] Registration: Endpoint Definition (& operation parameter)

2013-02-12 Thread Tim Bray
?! /foo and /foo/bar are obviously distinct endpoints. On Feb 12, 2013 3:25 AM, "Sergey Beryozkin" wrote: > Hi Mike, > On 12/02/13 01:26, Mike Jones wrote: > >> At most, there should be two endpoints - creation and management - for a >> client, but the protocol should be structured such that they

Re: [OAUTH-WG] Registration: RESTful client lifecycle management

2013-02-12 Thread Justin Richer
The problem that I have with "always including the client_id" is *where* to include it. Are we talking a query parameter, URI template, or somewhere in the request body? The latter will only work for POST and PUT, so it's out of the question to support GET and DELETE using that semantic. I thin

Re: [OAUTH-WG] Registration: Endpoint Definition (& operation parameter)

2013-02-12 Thread Justin Richer
Technically you could have your auth endpoint be: /oauth?method=authorization and your token endpoint be: /oauth?method=token and they're syntactically being served by the same URL. It's a deep-in-the-weeds argument of little value whether or not you consider these to be "separate endpoints"

Re: [OAUTH-WG] Registration: Endpoint Definition (& operation parameter)

2013-02-12 Thread John Bradley
It can be argued that /foo and /foo?provider=abc are different URI resources. Nat and I were recommending that the registration return a update URI that can be unique per client. In the Apps for domains or Salesforce case the hosting client could be encoded into the path or a parameter if req

Re: [OAUTH-WG] Registration: Endpoint Definition (& operation parameter)

2013-02-12 Thread Sergey Beryozkin
On 12/02/13 14:43, Tim Bray wrote: ?! /foo and /foo/bar are obviously distinct endpoints. definitely yes from the client's point of view, at the implementation level - it is the internal detail, right ? Cheers, Sergey On Feb 12, 2013 3:25 AM, "Sergey Beryozkin" mailto:sberyoz...@gmail.co

Re: [OAUTH-WG] Registration: Endpoint Definition (& operation parameter)

2013-02-12 Thread Justin Richer
So, I think we agree in general, but to be explicit: I want a server to be free to include the client_id as an input parameter if it wants to, but I would rather not have the client be required to compose that parameter onto the base registration URL on its own. This is to preserve the flexibil

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread Justin Richer
I would be OK with the change to registration_access_url or something similar to that. The main argument against it is that we'd be inventing a bespoke field for something that's already covered out there by the HTTP Linked Data world. Nat did a good job of trying to generalize concepts of link

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread John Bradley
Returning a location header in the 201 ids fine as long as we also have the same info as a claim. I think most clients will want to process the JSON and store all the parameters together. Making them fish out a header makes the W3C happy and is the correct thing to do but taking it from a clai

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread William Mills
One of the things I do not like about a MTI key transport mechanism if we put it in the token is that there will be some systems that already have a per user secret provisioned and we'll be forcing data duplication.  If if the encrypted token already includes any random component that could easi

Re: [OAUTH-WG] Fwd: New Version Notification for draft-richer-oauth-introspection-02.txt

2013-02-12 Thread Prabath Siriwardena
Hi Justin, I doubt whether valid_token would make a difference..? My initial argument is what is the validation criteria..? Validation criteria depends on the token_type.. If we are talking only about metadata - then I believe "revoked", "expired" would be more meaningful.. Thanks & regards, -P

Re: [OAUTH-WG] Registration: Client secret rotation

2013-02-12 Thread John Bradley
Yes, that agrees with my thoughts on it. John B. On 2013-02-12, at 11:29 AM, Justin Richer wrote: > This is actually the approach that I favor now as well -- let the server do > the secret rotation if it wants to, and have the client be prepared to > receive a new client_secret or registration

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread Justin Richer
Agreed - I didn't think that header-only was the proposal, but let's be explicit about the returned body always containing the URL. The way I read the 201 definition, it suggests (SHOULD) that you use the location header, but also says that the entity should refer to the new resource. It was my

Re: [OAUTH-WG] Registration: RESTful client lifecycle management

2013-02-12 Thread John Bradley
To some extent we want the server to have the flexibility it needs. If the server knows it is going to need client_id for GET it needs to encode it in the resource URI ether as part of the path or as a query parameter (that is up to the server) When doing updates the client MUST include the cli

Re: [OAUTH-WG] Registration: RESTful client lifecycle management

2013-02-12 Thread Justin Richer
On 02/12/2013 11:30 AM, John Bradley wrote: To some extent we want the server to have the flexibility it needs. If the server knows it is going to need client_id for GET it needs to encode it in the resource URI ether as part of the path or as a query parameter (that is up to the server) Whe

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread John Bradley
The token may or may not need to be encrypted on top of being signed. All tokens red to be signed. If the Key is asymmetric or using DH key agreement it would not need to be encrypted. If it is a symmetric key then yes you need to use encrypted key transport. The JOSE working group is worki

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread Nat Sakimura
Actually, if it is to return it in the HTTP header, then it should also use the RFC5988 Web Linking format. Now, that is nice to have, but for many JSON programmers, I agree that it would be a hassle to obtain the header and store them in addition to the JSON. So, it is nicer to have it in JSON bod

Re: [OAUTH-WG] Registration: RESTful client lifecycle management

2013-02-12 Thread Nat Sakimura
2013/2/13 Justin Richer : > > On 02/12/2013 11:30 AM, John Bradley wrote: >> >> To some extent we want the server to have the flexibility it needs. >> >> If the server knows it is going to need client_id for GET it needs to >> encode it in the resource URI ether as part of the path or as a query >>

[OAUTH-WG] Fwd: New Version Notification for draft-sakimura-oauth-meta-02.txt

2013-02-12 Thread Nat Sakimura
This is the second rev of the metadata spec that we discussed at IETF 85 OAuth WG and subsequently the chairs asked for the draft. Nat -- Forwarded message -- From: Date: 2013/2/13 Subject: New Version Notification for draft-sakimura-oauth-meta-02.txt To: sakim...@gmail.com Cc:

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread Phil Hunt
Clarification. I think Justin and I were in agreement that we don't want to see a format that requires JSON payloads. We are both interested in a JSON token used in the authorization header that could be based on a computed signature of some combination of http headers and body if possible. P

Re: [OAUTH-WG] Minutes from the OAuth Design Team Conference Call - 11th February 2013

2013-02-12 Thread Justin Richer
That's my reading of it as well, Phil, thanks for providing the clarification. One motivator behind using a JSON-based token is to be able to re-use some of the great work that the JOSE group is doing but apply it to an HTTP payload. What neither of us want is a token type that requires stuffi

Re: [OAUTH-WG] Registration: Client secret rotation

2013-02-12 Thread Mike Jones
+1 From: John Bradley Sent: 2/12/2013 8:20 AM To: Justin Richer Cc: Mike Jones; oauth@ietf.org Subject: Re: [OAUTH-WG] Registration: Client secret rotation Yes, that agrees with my thoughts on it. John B. On 2013-02-12, at 11:29 AM, Justin Richer wrote: > This

Re: [OAUTH-WG] Registration: Endpoint Definition (& operation parameter)

2013-02-12 Thread Torsten Lodderstedt
Am 12.02.2013 um 15:57 schrieb Justin Richer : > > I think that's a very important difference. I fully agree. ___ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth

Re: [OAUTH-WG] Registration: RESTful client lifecycle management

2013-02-12 Thread Mike Jones
Then I think we've reached an acceptable resolution on this one. By having the server return the registration_access_url upon create and having the client be required to include the client_id upon update, servers are free to manage their registration endpoint(s) as they see fit and clients alwa

Re: [OAUTH-WG] Registration: RESTful client lifecycle management

2013-02-12 Thread Justin Richer
I agree, and the "must include client_id" gels with the other discussion of doing a full-replace for the PUT operation for updates from another thread. -- Justin On 02/12/2013 01:37 PM, Mike Jones wrote: Then I think we've reached an acceptable resolution on this one. By having the server

Re: [OAUTH-WG] Registration: RESTful client lifecycle management

2013-02-12 Thread John Bradley
On 2013-02-12, at 1:39 PM, Justin Richer wrote: > > On 02/12/2013 11:30 AM, John Bradley wrote: >> To some extent we want the server to have the flexibility it needs. >> >> If the server knows it is going to need client_id for GET it needs to encode >> it in the resource URI ether as part of

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread Mike Jones
FYI, this issue is also being discussed as an OpenID Connect issue at https://bitbucket.org/openid/connect/issue/747. I think that Nat's recent comment there bears repeating on this list: Nat Sakimura: Not so sure. For example, PHP cannot get the JSON object form application/json POST in

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread Mike Jones
Part of the REST/JSON philosophy is that interfaces should be as simple and developer-friendly as possible. XML was rejected by developers, in part, because of the self-describing nature of the structure, which required extra syntax that was often not useful in practice. Trying to re-impose th

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread Justin Richer
Thanks for forwarding that, Mike. I'll paste in my response to Nat's concern here as well: It's an increasingly well known pattern that has reasonable support on the server side. For PHP, I was able to find the above example via the top hit on Stack Overflow. In Ruby, it's a matter of

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread John Bradley
Nat and I hashed out the pro's and cons of JSON requests. If we POST or PUT a JSON object we need to be specific as there rare several ways to do it that may work better or worse depending on the receiver. This needs to be looked over and one picked. In the other thread about the server return

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread Tim Bray
On Tue, Feb 12, 2013 at 11:44 AM, John Bradley wrote: > Nat and I hashed out the pro's and cons of JSON requests. > > If we POST or PUT a JSON object we need to be specific as there rare > several ways to do it that may work better or worse depending on the > receiver. > This needs to be looked o

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread John Bradley
The current privacy policy and TOS URL in registration are the ones for the Client. Nat and I discussed adding ones for the Authorization server that the client agrees to as separate from ones that the user is agreeing to. The Authorization servers TOS would be in discovery and perhaps in the

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread Justin Richer
In this case, I believe that it really is a fairly straightforward case of replacing the form-based key-value hash with a JSON-based key-value hash. So all the existing parameters are converted into top-level JSON objects, and the parameter values become the values of those members. This is the

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread Justin Richer
One question though: How exactly would the client, a software application, agree to the TOS? Is it supposed to fetch the content of the tos_url and do some processing on it? I wasn't under the impression that the tos_url contents were machine readable. Is it supposed to present that to the user

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread John Bradley
Some people apparently encode the JSON as the key in a form POST, some people do a form POST with a special key and the JSON as the value. There appear to be a number of theories in the wild. I am not an expert I just looked up code examples from several sources stack overflow and the like.

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread Justin Richer
If that's the question, then my proposal is the Content-type is "application/json" and the HTTP Entity Body is the JSON document. No form posts or parameter names to be had here. -- Justin On 02/12/2013 02:58 PM, John Bradley wrote: Some people apparently encode the JSON as the key in a form

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread Pat Patterson
Just POST the JSON as the HTTP payload with mime-type application/json: $ curl -v -H "Content-Type: application/json" -X POST -d '{"Hello": "World"}' http://requestb.in/19qit4u1 * About to connect() to requestb.in port 80 (#0) * Trying 107.20.236.186... connected * Connected to requestb.in (107

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread John Bradley
There are two TOS and privacy policies. One for the AS that the client is agreeing to by registering. Will it hold up in court? don't know Facebook is doing this. The link would be a reference to a human readable file that the client (RP) can have someone look over before using the connection.

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread Justin Richer
I agree with the previous statement that the AS's privacy/TOS would be better handled through discovery, since it's not likely to change per client instance. -- Justin On 02/12/2013 03:04 PM, John Bradley wrote: There are two TOS and privacy policies. One for the AS that the client is agree

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread John Bradley
I am fine with that as long as all the IdP tools have access to the entity body in some reasonable way. That seems like the most sensible thing. However given the number of people talking about encoding it in a form to get access to it, we should check that it works for everyone. John B. On

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread Brian Campbell
+1 to what Pat and Justin said. On Tue, Feb 12, 2013 at 12:59 PM, Justin Richer wrote: > If that's the question, then my proposal is the Content-type is > "application/json" and the HTTP Entity Body is the JSON document. No form > posts or parameter names to be had here. > > -- Justin > > >

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread Justin Richer
I would then request that people come up with a real example of where it *won't* work. I've seen workable solutions, and even some automagic ones, on several major platforms in which one would write a web server/AS: PHP, Java (Spring and raw servlets), Ruby (rails and sinatra), and Node.js can

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread Nat Sakimura
Let me explain a bit more. A trust framework may supply several ToS and Privacy Policy options much like CC licenses. If we want to really automate the things, you really need it. Otherwise, the service's owner need to go read the ToS and Privacy Policy in person and makes the dynamic registration

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread John Bradley
I am OK with that language. On 2013-02-12, at 5:16 PM, Justin Richer wrote: > I would then request that people come up with a real example of where it > *won't* work. I've seen workable solutions, and even some automagic ones, on > several major platforms in which one would write a web server/

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread Nat Sakimura
Like bunch of people expressed their opinion in the Thursday's OpenID call, I honestly do not understand why you think this is complex. It is JSON. It is not a surprise. Compare obj = { "registration_access_url":"http://example.com/"; }; obj = { "_links":{"self":{"href":"http://example.com/"

Re: [OAUTH-WG] Registration: JSON Encoded Input

2013-02-12 Thread Nat Sakimura
If we are sending JSON, then the content-type should be application/json, or some variant of it if needed be (e.g. application/oauthreg+json etc. -- I do not think we need it, though.) I do not like posting it with other content-type unless we explicitly create a variable and define a serializatio

Re: [OAUTH-WG] Registration: HAL _links structure and client self-URL

2013-02-12 Thread Anthony Nadalin
I doubt that the ToS and Privacy Policy will be different for a given Trust Framework provider, as these are all bilateral agreements, I do expect these to be different between trust framework providers though -Original Message- From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org