I strongly believe that it should be first presented as an I-D. This is true in general for most proposed changes of this size. It is hard to tell how big of an impact a change like this will have without some actual text. Once proposed, the WG can decide if this is of interest as a WG item. If it is, we discuss the technical details. Then, we can have a chat about editorial work and how to best fit it within the OAuth specifications framework.
Hope this helps. EHL > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf > Of David Recordon > Sent: Thursday, June 10, 2010 8:54 AM > To: Torsten Lodderstedt > Cc: OAuth WG ([email protected]) > Subject: Re: [OAUTH-WG] proposal: multiple access tokens from a single > authorization flow > > I strongly believe that it should be an extension. Even optional response > parameters increase the complexity for client developers and this in > particular affects the data model used to store access tokens. > > --David > > > On Thu, Jun 10, 2010 at 8:46 AM, Torsten Lodderstedt > <[email protected]> wrote: > > no one in the WG having an opinion on this topic? > > > > Am 09.06.2010 12:19, schrieb Torsten Lodderstedt: > >> > >> Hi all, > >> > >> I would like to see support in OAuth2 for the authorization of > >> arbitrary scopes in a single authorization flow for all kinds of > >> deployments. In some deployments this may require to issue multiple > access tokens at once. > >> > >> Therefore, I would like to propose the following addition to section > >> 2.3.2.1. (Access Token Response): > >> > >> Add an optional parameter "additional_access_tokens". > >> > >> additional_access_tokens > >> OPTIONAL. Array of access tokens issued by the authorization > >> server along with respective expiration and scope. > >> Used > >> if the authorization server decides to issue more > >> than > >> one access token. The scopes of the different > >> tokens may > >> not overlap. > >> > >> Example: > >> HTTP/1.1 200 OK > >> Content-Type: application/json > >> Cache-Control: no-store > >> > >> { > >> "access_token":"SlAV32hkKG", > >> "expires_in":3600, > >> "refresh_token":"8xLOxBtZp8", > >> scope:"https://imap.example.com", > >> additional_access_tokens:[ > >> { > >> "access_token":"SlAV32hkKG2", > >> "expires_in":3600, > >> scope:"https://sip.example.com" > >> }, > >> { > >> "access_token":"SlAV32hkKG3", > >> "expires_in":3600, > >> scope:"https://contacts.example.com/read" > >> }, > >> { > >> "access_token":"SlAV32hkKG4", > >> "expires_in":3600, > >> scope:"https://webdav.example.com/read" > >> } > >> ] > >> } > >> > >> --- Some motivation --- > >> > >> I think we will see more and more clients integrating different > >> end-user services (like mashups). Based on the current draft, some > >> OAuth authorization servers may not be able to support such clients > >> with an acceptable user experiences. > >> > >> Suppose a communication client integrating the following services: > >> - e-Mail via IMAP > >> - Voice over IP using the SIP protocol > >> - Contacts via SyncML over HTTP > >> - Webstorage access (e.g. for e-Mail attachments) using HTTP/WebDAV > >> > >> For a particular end-user, the client may discover that all of the > >> end-user's services rely on the same OAuth2-based authorization > >> server because they are provided by the same organization (e.g. an isp or > a telco). > >> The services are distinguished at the authorization server by > >> different scopes (probably including permissions as well), e.g. : > >> > >> imap - https://imap.example.com > >> sip - https://sip.example.com > >> contacts - https://contacts.example.com/read webstorage - > >> https://contacts.example.com/read > >> > >> Some providers may want to issue different service-specific tokens in > >> such a setup (Deutsche Telekom does it already), for the following > reasons: > >> > >> 1) Security > >> > >> a) minimize impact of token abuse - tokens may leak in many ways, e.g. > >> through log files, proxies or HTTP referer. If a provider just uses a > >> single token for all services, the impact of token leakage is much > >> higher. For example, if a token gets exposed by the _contacts_ > >> service via HTTP referer, an adversary may place long-distance calls > >> using that token on the _VoIP_ service at the expense of the > >> end-user. This threat holds for all kinds of tokens (handles and self- > contained tokens). > >> > >> b) use a shared secret between authz server and a single service > >> only - a major critism from the operational security perspective to > >> OAuth 1.0a was the need to spread client secrets to resource servers. > >> Using the same shared secret to sign/encrypt tokens for different > >> services is a comparable problem. This aspect is relevant for self- > contained tokens, only. > >> > >> 2) Privacy - the provider wants to restrict access of services to > >> personal data to the data a particular service is allowed and > >> authorized to see. This is good style (IMHO), it might also be > >> required by law (e.g. German Federal Data Protection Act). This > >> aspect is relevant for self-contained tokens, only. > >> > >> 3) Bandwith efficiency - putting only the data required by the > >> services into the token saves bandwith. This aspect is relevant for > >> self-contained tokens, only. > >> > >> In my opinion, most of these aspects are just a consequence of the > >> decoupling of authorization server and resource server(s) in OAuth2. > >> If a single authorization server is responsible for several resource > >> servers, it has to ensure privacy protection and prevention of token > >> abuse for all of its services. This should also include some > >> separation between services, no matter if one uses self-contained tokens > or handles. > >> > >> Without the change I proposed, the authorization server in the > >> example scenario would need to force the client to perform _four_ > >> subsequent authorization flows in order to obtain all required > >> tokens. Moreover, the client would need to manage four refresh tokens. > >> > >> I would kindly ask you to support my proposal. In my opinion, it > >> significantly improves the applicability of OAuth2 while the change > >> to the current draft is minimal. Moreover, deployments w/o the need > >> to issue multiple tokens are not affected at all. > >> > >> Any thoughts? > >> > >> regards, > >> Torsten. > >> > >> _______________________________________________ > >> OAuth mailing list > >> [email protected] > >> https://www.ietf.org/mailman/listinfo/oauth > > > > _______________________________________________ > > OAuth mailing list > > [email protected] > > https://www.ietf.org/mailman/listinfo/oauth > > > _______________________________________________ > OAuth mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/oauth _______________________________________________ OAuth mailing list [email protected] https://www.ietf.org/mailman/listinfo/oauth
