:)

The more I think about 'sub' the more I don't think is should mean "user". What about an IoT device? To me it feels like 'sub' should be what 7519 states, the subject or principal of the token. In some cases, that is quite legitimately the "client" or "machine". Changing that semantic seems bad. If a developer needs to know whether this JWT is about a "human" or not, that's something else entirely and could have it's own claim.

On 4/4/19 11:38 AM, Hans Zandbelt wrote:
agreed but it (i.e. "sub") also brings us back to where we started

Hans.

On Thu, Apr 4, 2019 at 5:27 PM Brian Campbell <bcampbell=40pingidentity....@dmarc.ietf.org <mailto:40pingidentity....@dmarc.ietf.org>> wrote:

    The same is true for most of the other main claims too - iss, exp,
    aud, sub, iat, etc.. They are defined in RFC 7519 not OIDC.

    On Thu, Apr 4, 2019 at 9:21 AM Brian Campbell
    <bcampb...@pingidentity.com <mailto:bcampb...@pingidentity.com>>
    wrote:

        Yeah, OpenID.Core isn't the right reference for `aud`.
        https://tools.ietf.org/html/rfc7519#section-4.1.3 is the
        definition of `aud` which should be the reference and this
        document can provide additional specifics for the given
        application.

        On Thu, Apr 4, 2019 at 8:07 AM George Fletcher
        <gffletch=40aol....@dmarc.ietf.org
        <mailto:40aol....@dmarc.ietf.org>> wrote:

            Another comment...

                aud  REQUIRED - as defined in section 2 of [OpenID.Core  
<https://tools.ietf.org/html/draft-bertocci-oauth-access-token-jwt-00#ref-OpenID.Core>].
  See
                   Section 3  
<https://tools.ietf.org/html/draft-bertocci-oauth-access-token-jwt-00#section-3>
  for indications on how an authorization server should
                   determine the value of aud depending on the request.  [Note: 
some
                   vendors seem to rely on resource aliases.  If we believe 
this to
                   be a valuable feature, here's some proposed language: The aud
                   claim MAY include a list of individual resource indicators 
if they
                   are all aliases referring to the same requested resource 
known by
                   the authorization server. ]



            I don't think OpenID.Core Section 3 is the correct
            reference for determining the 'aud' value. The issue here
            is that the 'aud' of the id_token is the recipient of the
            id_token (i.e. the client). However, for access_tokens the
            'aud' value should be the resource service that will
            receive the access_token. There is no existing guidance
            for this and we should provide such guidance as this is
            "kind of new" for OAuth2 (from an explicit specification
            perspective).

            Also, there is the concept of 'azp' from the id_token
            which amounts to "who's allowed to present this token"
            which might be interesting from the case where one entity
            obtains the token, and gives it to another entity to
            present. Not sure if we want to include this concept or not.

            Finally, I think we may need some best practice around how
            the concept of audience and resource should be managed.
            For instance...

                If the request does not include a resource parameter, the
                authorization server MUST use in the aud claim a default 
resource
                indicator.  If a scope parameter is present in the request, the
                authorization server SHOULD use it to infer the value of the 
default
                resource indicator to be used in the aud claim.

            I think for most implementations this would amount to...
            define an audience that covers all the resource services
            where the access token can be returned and set that as the
            audience (e.g. urn:x-mydomain:apis). Which is perfectly
            legal but maybe not in the spirit of the spec:) I am
            receiving feedback from developers that binding access
            tokens narrowly to the resource where they will be
            presented is concerning from a chattiness perspective
            (latency issues) and general load on the deployed AS
            infrastructure.

            On 3/24/19 7:29 PM, Vittorio Bertocci wrote:
            Dear all,
            I just submitted a draft describing a JWT profile for
            OAuth 2.0 access tokens. You can find it in
            
https://datatracker.ietf.org/doc/draft-bertocci-oauth-access-token-jwt/.
            I have a slot to discuss this tomorrow at IETF 104 (I'll
            be presenting remotely). I look forward for your comments!

            Here's just a bit of backstory, in case you are
            interested in how this doc came to be. The trajectory it
            followed is somewhat unusual.

              * Despite OAuth2 not requiring any specific format for
                ATs, through the years I have come across multiple
                proprietary solution using JWT for their access
                token. The intent and scenarios addressed by those
                solutions are mostly the same across vendors, but the
                syntax and interpretations in the implementations are
                different enough to prevent developers from reusing
                code and skills when moving from product to product.
              * I asked several individuals from key products and
                services to share with me concrete examples of their
                JWT access tokens (THANK YOU Dominick Baier
                (IdentityServer), Brian Campbell (PingIdentity),
                Daniel Dobalian (Microsoft), Karl Guinness (Okta) for
                the tokens and explanations!).
                I studied and compared all those instances,
                identifying commonalities and differences.
              * I put together a presentation summarizing my findings
                and suggesting a rough interoperable profile (slides:
                
https://sec.uni-stuttgart.de/_media/events/osw2019/slides/bertocci_-_a_jwt_profile_for_ats.pptx
                
<https://sec..uni-stuttgart.de/_media/events/osw2019/slides/bertocci_-_a_jwt_profile_for_ats.pptx>
                ) - got early feedback from Filip Skokan on it. Thx
                Filip!
              * The presentation was followed up by 1.5 hours of
                unconference discussion, which was incredibly
                valuable to get tight-loop feedback and incorporate
                new ideas. John Bradley, Brian Campbell Vladimir
                Dzhuvinov, Torsten Lodderstedt, Nat Sakimura, Hannes
                Tschofenig were all there and contributed generously
                to the discussion. Thank you!!!
                Note: if you were at OSW2019, participated in the
                discussion and didn't get credited in the draft, my
                apologies: please send me a note and I'll make things
                right at the next update.
              * On my flight back I did my best to incorporate all
                the ideas and feedback in a draft, which will be
                discussed at IETF104 tomorrow. Rifaat, Hannes and
                above all Brian were all super helpful in negotiating
                the mysterious syntax of the RFC format and
                submission process.

            I was blown away by the availability, involvement and
            willingness to invest time to get things right that
            everyone demonstrated in the process. This is an amazing
            community.
            V.

            _______________________________________________
            OAuth mailing list
            OAuth@ietf.org  <mailto:OAuth@ietf.org>
            https://www.ietf.org/mailman/listinfo/oauth

            _______________________________________________
            OAuth mailing list
            OAuth@ietf.org <mailto:OAuth@ietf.org>
            https://www.ietf.org/mailman/listinfo/oauth


    /CONFIDENTIALITY NOTICE: This email may contain confidential and
    privileged material for the sole use of the intended recipient(s).
    Any review, use, distribution or disclosure by others is strictly
    prohibited...  If you have received this communication in error,
    please notify the sender immediately by e-mail and delete the
    message and any file attachments from your computer. Thank
    you./_______________________________________________
    OAuth mailing list
    OAuth@ietf.org <mailto:OAuth@ietf.org>
    https://www.ietf.org/mailman/listinfo/oauth



--
hans.zandb...@zmartzone.eu <mailto:hans.zandb...@zmartzone.eu>
ZmartZone IAM - www.zmartzone.eu <http://www.zmartzone.eu>

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to