Brian, We did not see any objection to this latest proposal.
Can you please go ahead and publish version -08 of the draft? We would like to start a WGLC on the new version. Regards, Rifaat On Fri, May 26, 2017 at 6:21 PM, Brian Campbell <bcampb...@pingidentity.com> wrote: > Following up on this, I'd like to propose a different and less invasive > change to the "actor_token" text. The new wording is below and not much > different than the text in the current draft. Barring any solid objections > to this in the next week or so, I'll publish -08 at which point I believe > the document will be ready for WGLC. > > actor_token > > OPTIONAL. A security token that represents the identity of the acting > party. Typically this will be the party that is authorized to use the > requested security token and act on behalf of the subject. > > > > On Thu, May 11, 2017 at 9:58 AM, Brian Campbell < > bcampb...@pingidentity.com> wrote: > >> The token exchange framework facilitates deployments like this one >> https://help.salesforce.com/articleView?id=remoteaccess_oaut >> h_asset_token_flow.htm or https://developer.box.com/docs >> /getting-started-with-new-box-view, for example, and I don't think pure >> plug and play interoperability is a realistic goal. The framework promotes >> interoperability in the form of common patterns and parameters that can be >> supported in libraries, products, and services. >> >> There's not one "other case" I have in mind but rather just broadening >> the text somewhat to more straightforwardly accommodate other cases. One >> potential example is where the actor_token represents an authorizing party >> (again maybe needed for policy or auditing) to the token exchange event >> itself rather than the party that's having access rights assigned to it >> (implicitly with impersonation or explicitly with delegation). >> >> >> >> On Tue, May 9, 2017 at 9:55 AM, Denis <denis.i...@free.fr> wrote: >> >>> Brian, >>> >>> Even if Token Exchange is a framework, the goal is to be finally able to >>> interoperate. >>> >>> Whether we have one or two parameters, would you be able to provide a >>> precise semantics for the "other case" you have in mind ? >>> >>> Denis >>> >>> Yes, I omitted your comments in that post because I'd previously replied >>> to you in a separate message where I said that the "actor_token is a >>> security token so that's not an issue that needs to be addressed." >>> https://www.ietf.org/mail-archive/web/oauth/current/msg17247.html >>> >>> The other point you've just made about having very precise semantics for >>> a field is a fair one. However, I wanted to avoid introducing yet another >>> field (or really two fields b/c of the associated *_type for each inbound >>> token field), for what felt like a minor semantic variation that could be >>> easily accommodated by the existing framework, to the draft that already >>> has a lot of options and parameters on the request. And Token Exchange >>> really is a framework. I think that, to some extent, the framework is a bit >>> of a Rorschach test for deployers and implementers to utilize to solve >>> their specific issues and needs. I expect that will be the case regardless. >>> And I am proposing to somewhat genericize the text around one request >>> parameter to be more reflective of that. >>> >>> I would like to hear from others in the WG though. >>> >>> On Tue, May 9, 2017 at 3:06 AM, Denis <denis.i...@free.fr> wrote: >>> >>>> Brian, >>>> >>>> You omitted to include my comments in this post. So here it is again: >>>> >>>> =========================================================== >>>> >>>> The current text is: >>>> >>>> actor_token OPTIONAL. A security token that represents the identity of >>>> the party that is authorized to use the requested security token and act on >>>> behalf of the subject. >>>> >>>> This sentence is indeed wrong since an actor-token is not a security >>>> token. >>>> >>>> So your proposed change does not solve this issue: actor_token >>>> OPTIONAL. A security token that represents the identity of the acting >>>> party. >>>> >>>> The current text states: >>>> >>>> Typically, in the request, the subject_token represents the identity of >>>> the party on behalf of whom >>>> the token is being requested while the actor_token represents the >>>> identity of the party to whom the access >>>> rights of the issued token are being delegated. >>>> >>>> Logically, the definition should be along the following lines: >>>> >>>> actor_token OPTIONAL. Indicates the identity of the party to whom the >>>> access rights of the issued token are being delegated. >>>> >>>> If there is no delegation, then this field (which is optional) will not >>>> be used. >>>> >>>> =========================================================== >>>> >>>> I read your argumentation, but I maintain my comment. Each field should >>>> have a precise semantics. >>>> >>>> If you want to have another semantics, you should propose to define >>>> another field with its precise meaning. >>>> >>>> Denis >>>> >>>> Let me throw out a bit more context about this. The "actor_token" >>>> might, in a delegation scenario, represent the identity of the party to >>>> whom the access rights of the issued token are being delegated. That's the >>>> typical delegation scenario that is discussed in the draft. However, the >>>> "actor_token" might also be utilized/needed by the AS in an impersonation >>>> scenario for policy or auditing reasons even when the resulting issued >>>> token doesn't contain info about the delegation or actor. Similarly, the >>>> actor might not be strictly doing the impersonation but rather just be a >>>> party (again maybe needed for policy or auditing) to the token exchange >>>> event itself. When I wrote the "actor_token" text in section 2.1 some ~18 >>>> months ago I had the delegation scenario at the front of my mind and >>>> (clearly) intended to accommodate it. However, I didn't intend to limit it >>>> to only that and, looking at the text again, I think what is there now is >>>> too prescriptive and narrow. Thus my proposing to generalize the text >>>> somewhat. >>>> >>>> >>>> >>>> >>>> On Mon, May 8, 2017 at 10:29 AM, Brian Campbell < >>>> bcampb...@pingidentity.com> wrote: >>>> >>>>> I do have one minor issue I'd like to raise that relates to some >>>>> conversations I've been a party to recently about implementations and >>>>> applications of token exchange. >>>>> >>>>> I think that the current text in §2.1 for the "actor_token" is overly >>>>> specific towards the delegation scenario. I'd propose the language be >>>>> generalized somewhat to allow more versatility in applications/deployments >>>>> of the token exchange framework. Here's that text: >>>>> >>>>> actor_token >>>>> OPTIONAL. A security token that represents the identity of the >>>>> acting party. >>>>> >>>>> >>>>> >>>>> >>>>> On Mon, May 8, 2017 at 8:01 AM, Rifaat Shekh-Yusef < >>>>> rifaat.i...@gmail.com> wrote: >>>>> >>>>>> Hi All, >>>>>> >>>>>> The last email from Brian addresses the multiple audiences/resources >>>>>> issue with an error code, and we did not see any objection to this >>>>>> approach >>>>>> so far. >>>>>> >>>>>> >>>>>> *Authors,* >>>>>> >>>>>> Are there any other open issues with this draft? >>>>>> Do you believe it is ready for WGLC? >>>>>> >>>>>> Thanks, >>>>>> Rifaat & Hannes >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Mar 31, 2017 at 11:03 AM, Brian Campbell < >>>>>> bcampb...@pingidentity.com> wrote: >>>>>> >>>>>>> As mentioned during the Chicago meeting the "invalid_target" error >>>>>>> code that was added in -07 was intended to give the AS a standard way to >>>>>>> reject request with multiple audiences/resources that it doesn't >>>>>>> understand >>>>>>> or is unwilling or unable to process based on policy or whatever >>>>>>> criteria . >>>>>>> It was intended as a compromise, of sorts, to allow for the multiple >>>>>>> resources/audiences in the request but provide an easy out for the AS of >>>>>>> saying it can't be supported based on whatever implementation or >>>>>>> security >>>>>>> or policy it has. >>>>>>> >>>>>>> On Tue, Mar 28, 2017 at 1:32 AM, Nat Sakimura <sakim...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> There are cases where tokens are supposed to be consumed at >>>>>>>> multiple places and the `aud` needed to capture them. That's why `aud` >>>>>>>> is a >>>>>>>> multi-valued field. >>>>>>>> >>>>>>>> On Mon, Mar 27, 2017 at 11:35 AM Torsten Lodderstedt < >>>>>>>> tors...@lodderstedt.net> wrote: >>>>>>>> >>>>>>>>> May I ask you to explain this reason? >>>>>>>>> >>>>>>>>> Am 27.03.2017 um 08:48 schrieb Mike Jones < >>>>>>>>> michael.jo...@microsoft.com>: >>>>>>>>> >>>>>>>>> For the same reason that the “aud” claim is multi-valued in JWTs, >>>>>>>>> the audience needs to stay multi-valued in Token Exchange. Ditto for >>>>>>>>> resources. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> -- Mike >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From:* OAuth [mailto:oauth-boun...@ietf.org >>>>>>>>> <oauth-boun...@ietf.org>] *On Behalf Of *Brian Campbell >>>>>>>>> *Sent:* Monday, March 27, 2017 8:45 AM >>>>>>>>> *To:* Torsten Lodderstedt <tors...@lodderstedt.net> >>>>>>>>> *Cc:* oauth <oauth@ietf.org> >>>>>>>>> *Subject:* Re: [OAUTH-WG] I-D Action: >>>>>>>>> draft-ietf-oauth-token-exchange-07.txt >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks for the review and question, Torsten. >>>>>>>>> >>>>>>>>> The desire to support multiple audience/resource values in the >>>>>>>>> request came up during a review and discussion among the authors of >>>>>>>>> the >>>>>>>>> document when preparing the -03 draft. As I recall, it was said that >>>>>>>>> both >>>>>>>>> Salesforce and Microsoft had use-cases for it. I incorporated support >>>>>>>>> for >>>>>>>>> it into the draft acting in the role of editor. >>>>>>>>> >>>>>>>>> From an individual perspective, I tend to agree with you that >>>>>>>>> allowing for multiple audiences/resources adds a lot of complexity >>>>>>>>> that's >>>>>>>>> like not needed in many (or most) cases. And I would personally be >>>>>>>>> open to >>>>>>>>> making audience and resource mutual exclusive and single valued. A >>>>>>>>> question >>>>>>>>> for the WG I suppose. >>>>>>>>> >>>>>>>>> The "invalid_target" error code that was added in -07 was intended >>>>>>>>> to give the AS a standard way to deal with the complexity and reject >>>>>>>>> request with multiple audiences/resources that it doesn't understand >>>>>>>>> or is >>>>>>>>> unwilling or unable to process. It was intended as a compromise, of >>>>>>>>> sorts, >>>>>>>>> to allow for the multiples but provide an easy out of saying it can't >>>>>>>>> be >>>>>>>>> supported based on whatever implementation or policy of the AS. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sun, Mar 26, 2017 at 9:00 AM, Torsten Lodderstedt < >>>>>>>>> tors...@lodderstedt.net> wrote: >>>>>>>>> >>>>>>>>> Hi Brian, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> thanks for the clarification around resource, audience and scope. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Here are my comments on the draft: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> In section 2.1 it states: „Multiple "resource" parameters may be >>>>>>>>> used to indicate >>>>>>>>> >>>>>>>>> that the issued token is intended to be used at the multiple >>>>>>>>> >>>>>>>>> resources listed.“ >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Can you please explain the rational in more detail? I don’t >>>>>>>>> understand why there is a need to ask for access tokens, which are >>>>>>>>> good for >>>>>>>>> multiple resources at once. This is a request type more or less >>>>>>>>> exclusively >>>>>>>>> used in server to server scenarios, right? So the only reason I can >>>>>>>>> think >>>>>>>>> of is call reduction. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On the other side, this feature increases the AS's complexity, >>>>>>>>> e.g. its policy may prohibit to issue tokens for multiple resources in >>>>>>>>> general or the particular set the client is asking for. How shall the >>>>>>>>> AS >>>>>>>>> handles such cases? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> And it is getting even more complicated given there could also be >>>>>>>>> multiple audience values and the client could mix them: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> "Multiple "audience" parameters >>>>>>>>> >>>>>>>>> may be used to indicate that the issued token is intended to >>>>>>>>> be >>>>>>>>> >>>>>>>>> used at the multiple audiences listed. The "audience" and >>>>>>>>> >>>>>>>>> "resource" parameters may be used together to indicate >>>>>>>>> multiple >>>>>>>>> >>>>>>>>> target services with a mix of logical names and physical >>>>>>>>> >>>>>>>>> locations.“ >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> And in the end the client may add some scope values to the „meal“, >>>>>>>>> which brings us to >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> „Effectively, the requested access rights of the >>>>>>>>> >>>>>>>>> token are the cartesian product of all the scopes at all the >>>>>>>>> target >>>>>>>>> >>>>>>>>> services." >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I personally would suggest to drop support for multiple audience >>>>>>>>> and resource parameters and make audience and resource mutual >>>>>>>>> exclusive. I >>>>>>>>> think this is sufficient and much easier to implement. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> kind regards, >>>>>>>>> >>>>>>>>> Torsten. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Am 11.01.2017 um 20:04 schrieb Brian Campbell < >>>>>>>>> bcampb...@pingidentity.com>: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Draft -07 of "OAuth 2.0 Token Exchange" has been published. The >>>>>>>>> primary change in -07 is the addition of a description of the >>>>>>>>> relationship >>>>>>>>> between audience/resource/scope, which was a request or comment that >>>>>>>>> came >>>>>>>>> up during the f2f meeting in Seoul. >>>>>>>>> >>>>>>>>> Excerpted from the Document History: >>>>>>>>> >>>>>>>>> -07 >>>>>>>>> >>>>>>>>> o Fixed typo (desecration -> discretion). >>>>>>>>> o Added an explanation of the relationship between scope, >>>>>>>>> audience >>>>>>>>> and resource in the request and added an "invalid_target" >>>>>>>>> error >>>>>>>>> code enabling the AS to tell the client that the requested >>>>>>>>> audiences/resources were too broad. >>>>>>>>> >>>>>>>>> ---------- Forwarded message ---------- >>>>>>>>> From: <internet-dra...@ietf.org> >>>>>>>>> Date: Wed, Jan 11, 2017 at 12:00 PM >>>>>>>>> Subject: [OAUTH-WG] I-D Action: draft-ietf-oauth-token-exchang >>>>>>>>> e-07.txt >>>>>>>>> To: i-d-annou...@ietf.org >>>>>>>>> Cc: oauth@ietf.org >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> A New Internet-Draft is available from the on-line Internet-Drafts >>>>>>>>> directories. >>>>>>>>> This draft is a work item of the Web Authorization Protocol of the >>>>>>>>> IETF. >>>>>>>>> >>>>>>>>> Title : OAuth 2.0 Token Exchange >>>>>>>>> Authors : Michael B. Jones >>>>>>>>> Anthony Nadalin >>>>>>>>> Brian Campbell >>>>>>>>> John Bradley >>>>>>>>> Chuck Mortimore >>>>>>>>> Filename : draft-ietf-oauth-token-exchange-07.txt >>>>>>>>> Pages : 31 >>>>>>>>> Date : 2017-01-11 >>>>>>>>> >>>>>>>>> Abstract: >>>>>>>>> This specification defines a protocol for an HTTP- and JSON- >>>>>>>>> based >>>>>>>>> Security Token Service (STS) by defining how to request and >>>>>>>>> obtain >>>>>>>>> security tokens from OAuth 2.0 authorization servers, including >>>>>>>>> security tokens employing impersonation and delegation. >>>>>>>>> >>>>>>>>> >>>>>>>>> The IETF datatracker status page for this draft is: >>>>>>>>> https://datatracker.ietf.org/doc/draft-ietf-oauth-token-exchange/ >>>>>>>>> >>>>>>>>> There's also a htmlized version available at: >>>>>>>>> <https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-07> >>>>>>>>> >>>>>>>>> ... > > [Message clipped] > _______________________________________________ > 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