It looks like we'll have to agree to disagree on this one :) to me we
aren't using 3 claims to say that the token is about the client. Sub and
client_id have their independent reasons to be in the token. Expressing the
fact that a token is about an app should not have the side effect of
forbidding a sub to be RS-specific, for example.

On Tue, May 7, 2019 at 12:30 AM Hans Zandbelt <hans.zandb...@zmartzone.eu>
wrote:

> using 2 existing + 1 new (=3) claims to say the token is about the client
> to me suggests something went sideways in the past and were unable to fix
> it in a clean way
>
> Hans.
>
> On Tue, May 7, 2019 at 8:25 AM Vittorio Bertocci <vitto...@auth0.com>
> wrote:
>
>> For many of the products I have been and I am working on, sub and
>> client_id can't be arbitrarily changed - the examples I provided aren't
>> hypothetical: in my research *all *the providers adding sub in their app
>> only ATs (Azure AD, Auth0, Ping Identity) had different values in sub and
>> in the claim they used to indicate the client identifier. For at least
>> Auth0 and AAD you can't use arbitrary client_ids/formats, you get them
>> assigned by the system.
>> That's not really legacy, it's current practice - with no counter
>> indications, really. It's not that we are being soft, handling sub and
>> client_id differently isn't some kind of bad practice nor has any security
>> implications. It's an internal implementation detail.
>>
>> I am not sure I see how having a specialized claim would paint us in a
>> corner more than imposing the constraint you are suggesting. That seems to
>> do the exact opposite: it helps ASes to provide the desired functionality
>> without imposing changes that will ripple across their codebase well beyond
>> this particular use case.
>>
>> On Tue, May 7, 2019 at 12:07 AM Hans Zandbelt <hans.zandb...@zmartzone.eu>
>> wrote:
>>
>>> I understand your legacy-breaking point (and do see a name spacing
>>> hurdle) but:
>>> a. I feel we're now painting ourselves into a corner ("soft doctors make
>>> stinking wounds").
>>> b. putting the client_id into the sub value would be something that any
>>> product should be able to do, just like putting an extra claim in; I don't
>>> think that is fundamental stuff
>>>
>>> Hans.
>>>
>>> On Mon, May 6, 2019 at 11:22 PM Vittorio Bertocci <vitto...@auth0.com>
>>> wrote:
>>>
>>>> Let me try a different angle. An AS might generate sub claims and
>>>> client_id identifiers using a different format/template. That means that
>>>> there might be a client with client_id X that gets assigned a sub value Y,
>>>> despite the client being the same, hence the check “sub==client_id” would
>>>> fail.
>>>> The logic producing this might be hard for an AS to change as there has
>>>> never been any requirement on client_id or sub formats hence everyone was
>>>> free until now to use whatever logic they chose, including name spacing one
>>>> but not the other and any other variation, and changes might have ripple
>>>> effects downstream on systems that have nothing to do w this spec (eg
>>>> sharing of where clients are stored might depend on the internal structure
>>>> of the client_id). So in other words, an AS might have to touch pretty
>>>> fundamental stuff in its logic and potentially impact scenarios that have
>>>> no direct bearing with the JWT AT profile just for making that condition
>>>> true. On the other plate of the scale, there’s adding a new claim- which I
>>>> can literally already do in various commercial ASes via extensibility
>>>> points, without changing their code.
>>>>
>>>>
>>>> On Mon, May 6, 2019 at 15:11 Hans Zandbelt <hans.zandb...@zmartzone.eu>
>>>> wrote:
>>>>
>>>>> I'm suggesting that whichever "sub" and "client_id" the RS is
>>>>> receiving and however it was generated, it must mean something to it in
>>>>> alignment with the JWT/OAuth2/OIDC specs, otherwise it wouldn't be there 
>>>>> at
>>>>> all; moreover, if the "sub" has the same value as "client_id" it must be a
>>>>> client talking to the RS on behalf of its own and the claims are 
>>>>> associated
>>>>> with the client; if the "sub" has a different value than the "client_id" 
>>>>> it
>>>>> must be a scenario where the client presents a token delegated by a
>>>>> Resource Owner and the claims are about the Resource Owner. Problem 
>>>>> solved?
>>>>>
>>>>> Hans.
>>>>>
>>>>> On Mon, May 6, 2019 at 11:06 PM Vittorio Bertocci <vitto...@auth0.com>
>>>>> wrote:
>>>>>
>>>>>> I am not following. We want this to be adopted, right? :) if we
>>>>>> provide guidance that is sound but hard to implement we are going to 
>>>>>> fail.
>>>>>> Considerations on whether the guidance requires a big effort to be 
>>>>>> applied
>>>>>> are very much in scope for me.
>>>>>>
>>>>>> On Mon, May 6, 2019 at 14:54 Hans Zandbelt <
>>>>>> hans.zandb...@zmartzone.eu> wrote:
>>>>>>
>>>>>>> the scope and way of generating sub/client_id is orthogonal to the
>>>>>>> semantics IMHO but if I'm the only one who thinks so, I'll rest my case
>>>>>>>
>>>>>>> Hans.
>>>>>>>
>>>>>>> On Mon, May 6, 2019 at 10:49 PM Vittorio Bertocci <
>>>>>>> vitto...@auth0.com> wrote:
>>>>>>>
>>>>>>>> See below, Hans- the sub doesn’t have to be global, it could be
>>>>>>>> something generated just for this particular RS. Or the AS might have 
>>>>>>>> its
>>>>>>>> own recipe for generating sub values that different from the recipe 
>>>>>>>> used to
>>>>>>>> generate client_ids. It would be much easier for an AS to emit a claim
>>>>>>>> making this explicit statement than to change sub and client_id 
>>>>>>>> assignment
>>>>>>>> logic.
>>>>>>>>
>>>>>>>> On Mon, May 6, 2019 at 13:49 Hans Zandbelt <
>>>>>>>> hans.zandb...@zmartzone.eu> wrote:
>>>>>>>>
>>>>>>>>> I may be missing something but I'd argue that by requiring and
>>>>>>>>> comparing both "sub" and "client_id" we achieve the same semantics 
>>>>>>>>> without
>>>>>>>>> a new/additional claim (barring name spacing)
>>>>>>>>>
>>>>>>>>> Hans.
>>>>>>>>>
>>>>>>>>> On Mon, May 6, 2019 at 8:58 PM Karl McGuinness <kmcguinness=
>>>>>>>>> 40okta....@dmarc.ietf.org> wrote:
>>>>>>>>>
>>>>>>>>>> Makes sense that we don’t want to further couple AS and RS with
>>>>>>>>>> grant types.  I’m OK if we want a dedicated claim to establish 
>>>>>>>>>> whether the
>>>>>>>>>> token is resource owner delegated  vs client acting as itself.
>>>>>>>>>>
>>>>>>>>>> Subject Type is already a concept in RISC.  Just making folks are
>>>>>>>>>> aware of prior art.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> https://openid.net/specs/oauth-event-types-1_0-01.html#rfc.section.2.2
>>>>>>>>>>
>>>>>>>>>> https://openid.net/specs/openid-risc-profile-1_0.html#rfc.section.2.1
>>>>>>>>>>
>>>>>>>>>> -Karl
>>>>>>>>>>
>>>>>>>>>> On May 6, 2019, at 12:42 PM, Vittorio Bertocci <
>>>>>>>>>> Vittorio=40auth0....@dmarc.ietf.org> wrote:
>>>>>>>>>>
>>>>>>>>>> *This message originated outside your organization.*
>>>>>>>>>> ------------------------------
>>>>>>>>>> Fair enough! What others think about it?
>>>>>>>>>> Exploring the approach: would we want a bool claim or an
>>>>>>>>>> enumeration, e.g. sub_type = [ resource_owner | client ] ?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, May 6, 2019 at 12:35 PM Vladimir Dzhuvinov <
>>>>>>>>>> vladi...@connect2id.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Vittorio,
>>>>>>>>>>>
>>>>>>>>>>> On 06/05/2019 22:22, Vittorio Bertocci wrote:
>>>>>>>>>>> > It is true that the grant_type is a client side consideration..
>>>>>>>>>>> I did think
>>>>>>>>>>> > about the "client_id==sub" heuristic, but that's not always
>>>>>>>>>>> applicable:
>>>>>>>>>>> > many systems have their own rules for generating sub, and in
>>>>>>>>>>> case they want
>>>>>>>>>>> > to prevent tracking across RSes the sub might be generated
>>>>>>>>>>> ad-hoc for that
>>>>>>>>>>> > particular RS.
>>>>>>>>>>> > Would you prefer to have a dedicated claim that distinguish
>>>>>>>>>>> between user
>>>>>>>>>>> > and app tokens rather than reusing grant_type?
>>>>>>>>>>>
>>>>>>>>>>> A dedicated claim to flag client_id effectively == sub would be
>>>>>>>>>>> preferable, and much easier for RS developers to process.
>>>>>>>>>>>
>>>>>>>>>>> The AS is the authority and has all the knowledge to set /
>>>>>>>>>>> indicate this.
>>>>>>>>>>>
>>>>>>>>>>> I want to keep RS developers away from having to deal with grant
>>>>>>>>>>> types
>>>>>>>>>>> and having to make decisions whether client_id effectively ==
>>>>>>>>>>> sub.
>>>>>>>>>>>
>>>>>>>>>>> Vladimir
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> > On Mon, May 6, 2019 at 12:16 PM Vladimir Dzhuvinov <
>>>>>>>>>>> vladi...@connect2id.com>
>>>>>>>>>>> > wrote:
>>>>>>>>>>> >
>>>>>>>>>>> >> On 06/05/2019 20:32, Vittorio Bertocci wrote:
>>>>>>>>>>> >>> To that end, *Karl MCGuinness suggested that we include
>>>>>>>>>>> >>> grant_type as a return claim, which the RS could use to the
>>>>>>>>>>> same
>>>>>>>>>>> >> effect*. I
>>>>>>>>>>> >>> find the proposal very clever, and the people at IIW thought
>>>>>>>>>>> so as well.
>>>>>>>>>>> >>> What you think?
>>>>>>>>>>> >> The grant type is not something that the RS is really
>>>>>>>>>>> concerned with, or
>>>>>>>>>>> >> should be. Introducing this parameter in the access token
>>>>>>>>>>> will create an
>>>>>>>>>>> >> additional logical dependency, plus complexity - in the
>>>>>>>>>>> system of
>>>>>>>>>>> >> client, AS and RS as a whole, as well as for RS developers.
>>>>>>>>>>> The grant
>>>>>>>>>>> >> type, as a concept, is a matter between the client and AS,
>>>>>>>>>>> and IMO
>>>>>>>>>>> >> should stay that way.
>>>>>>>>>>> >>
>>>>>>>>>>> >> Clear language in the spec should suffice. For instance: "If
>>>>>>>>>>> the sub
>>>>>>>>>>> >> value matches the client_id value, then the subject is the
>>>>>>>>>>> client
>>>>>>>>>>> >> application".
>>>>>>>>>>> >>
>>>>>>>>>>> >> Vladimir
>>>>>>>>>>> >>
>>>>>>>>>>> >> --
>>>>>>>>>>> >> Vladimir Dzhuvinov
>>>>>>>>>>> >>
>>>>>>>>>>> >>
>>>>>>>>>>> >> _______________________________________________
>>>>>>>>>>> >> OAuth mailing list
>>>>>>>>>>> >> OAuth@ietf.org
>>>>>>>>>>> >> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>>>>> >>
>>>>>>>>>>> --
>>>>>>>>>>> Vladimir Dzhuvinov
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> hans.zandb...@zmartzone.eu
>>>>>>>>> ZmartZone IAM - www.zmartzone.eu
>>>>>>>>> _______________________________________________
>>>>>>>>> OAuth mailing list
>>>>>>>>> OAuth@ietf.org
>>>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> hans.zandb...@zmartzone.eu
>>>>>>> ZmartZone IAM - www.zmartzone.eu
>>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> hans.zandb...@zmartzone.eu
>>>>> ZmartZone IAM - www.zmartzone.eu
>>>>>
>>>>
>>>
>>> --
>>> hans.zandb...@zmartzone.eu
>>> ZmartZone IAM - www.zmartzone.eu
>>>
>>
>
> --
> hans.zandb...@zmartzone.eu
> ZmartZone IAM - www.zmartzone.eu
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to