On Wed, Dec 14, 2022 at 12:04 PM Dick Hardt <dick.ha...@gmail.com> wrote:

>
> 1. I see the value of client discovery for registered clients as well as
> for registering clients. For example, the client may be registered at a
> number of ASes, and a discovery document lets the client update its
> information once at its discovery endpoint rather than having to
> manually update the information at each AS. A key example of this (pun
> intended) is client key rotation.  => I'd suggest updating the introduction
> to not be focussed on registration, but as a way for the AS to learn about
> a client.
>
> 2. I'm strongly opposed to JSON-LD as an optional format. Extra complexity
> for an AS to support with no added value since JSON is already being
> supported so would not be able to take advantage of any JSON-LD features.
>
> 3. I agree with using .well-known for discovery. It has become pretty
> common now, and that pattern helps prevent there being a conflict with any
> existing content / routes that are at the client endpoint.
>
> 4. This proposal presumes the client provides the same redirect_urs to
> each AS. In the clients that I have deployed, I have unique redirect URIs
> for each AS to assist in knowing which AS has sent back the redirect. For
> example, I append an AS specific slug to the redirect URI. How would that
> be handled in this proposal? One path would be for me to provide an AS
> specific URI for the client to each AS.
>
> 5. In Hellō -- we offer developers the option to include a logo to be used
> for dark themed experiences in addition to the standard light themed
> experience.
>
> 6. I did not see URIs for the standard terms (ToS) of service and privacy
> policy (PP) URIs
>

Just in case it helps, FedCM makes IdPs expose a .well-known/web-identity
file that, if you dereference all of the links, at some point gets to a
configuration that points to the PP & TOS:

https://fedidcg.github.io/FedCM/#idp-api-client-id-metadata-endpoint

We use the PP & TOS to construct the browser UX.

I'm not sure how FedCM's .well-known file relates to the .well-known file
being discussed here, but it seemed worth bringing up since it shares some
of the properties here.


> 7. on the ToS and PP topics, we could include version info so that it is
> easier for the AS to detect if the ToS and PP have been updated since the
> last time the user provided consent
>
> 8. I prefer the other proposal I saw where 'client_uri` was used to signal
> that client info was at a URI rather than using 'client_id', and client_id
> and client_uri would be mutually exclusive. Doing this for both the
> authorization and token endpoints would be what I would propose. Note that
> we are deprecating the redirect_uri to be in the token request in OAuth 2.1.
>
> 9. With client discovery, we can more easily move to the client
> authenticating with a signed request rather than a client secret, so a
> jwks_uri would be a great addition
>
> 10. The string comparison in section (6) is confusing. My understanding is
> that we have gone with byte comparisons with no transformations. What am I
> missing?
>
> /Dick
>
> 10.
>
>
>
> On Wed, Dec 14, 2022 at 5:14 AM Dmitry Telegin <dmitryt=
> 40backbase....@dmarc.ietf.org> wrote:
>
>> Hi Tobias,
>>
>> On Wed, Dec 14, 2022 at 2:49 AM Tobias Looker <tobias.looker=
>> 40mattr.glo...@dmarc.ietf.org> wrote:
>>
>>>
>>> There are certainly things we could explore here, one such option could
>>> be to continue to only return application/json but for the document to
>>> include an element like "@context" in the response if its desired that the
>>> metadata be processable as a JSON-LD document.
>>>
>>
>> I'd generally agree; my only concern about the Content-type is that it
>> could be set by the web server rather than the developer, and developers
>> might have no control over the web server configuration. If, for example,
>> the metadata is deployed as a static JSON-LD file, and the web server uses
>> MIME DB, then it will serve the resource as application/ld+json rather than
>> application/json (unless reconfigured to do so).
>>
>>
>>>
>>> Yes I've had similar thoughts about this, I think RFC 9111 could be a
>>> good basis. What remains a little unclear to me is what normative
>>> requirements we might impose on implementers in regards to caching, for
>>> instance I think requiring clients hosting their metadata to implement HTT
>>> request caching would be too strict, but if they are to implement it, RFC
>>> 9111 is recommended and if you do here is how it must be implemented?
>>>
>>
>> I agree that requiring clients to implement caching (i.e. to guarantee
>> Age and Cache-Control headers) might be excessively strict. But in the case
>> where the headers are not present, I think we should recommend the ASes to
>> implement some opinionated defaults (e.g., default TTL for client metadata
>> = 1 hour etc.)
>>
>> Dmitry
>>
>>
>>>
>>> Thanks,
>>>
>>> [image: Mattr website]
>>> <https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscanmail.trustwave.com%2F%3Fc%3D15517%26d%3Dw46s4eMXULV_ns1ZfAKYLbVKcqey_PHiW1WeN4boYw%26u%3Dhttps%253a%252f%252fmattr.global%252f&data=04%7C01%7CSteve.Lowes%40mbie.govt.nz%7C5a65fe33c70b41fd8ba908d976f3a2f1%7C78b2bd11e42b47eab0112e04c3af5ec1%7C0%7C0%7C637671611076709977%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tKqCMzLUQNCeORd908YqfqZoT7tCy%2FMVwXdjpch1sDY%3D&reserved=0>
>>>
>>>
>>>
>>> *Tobias Looker*
>>>
>>> MATTR
>>> CTO
>>>
>>> +64 (0) 27 378 0461 <+64%2027%20378%200461>
>>> tobias.looker@mattr.global
>>>
>>> [image: Mattr website]
>>> <https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscanmail.trustwave.com%2F%3Fc%3D15517%26d%3Dw46s4eMXULV_ns1ZfAKYLbVKcqey_PHiW1WeN4boYw%26u%3Dhttps%253a%252f%252fmattr.global%252f&data=04%7C01%7CSteve.Lowes%40mbie.govt.nz%7C5a65fe33c70b41fd8ba908d976f3a2f1%7C78b2bd11e42b47eab0112e04c3af5ec1%7C0%7C0%7C637671611076709977%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tKqCMzLUQNCeORd908YqfqZoT7tCy%2FMVwXdjpch1sDY%3D&reserved=0>
>>>
>>> [image: Mattr on LinkedIn]
>>> <https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscanmail.trustwave.com%2F%3Fc%3D15517%26d%3Dw46s4eMXULV_ns1ZfAKYLbVKcqey_PHiW1SbN9fvNg%26u%3Dhttps%253a%252f%252fwww.linkedin.com%252fcompany%252fmattrglobal&data=04%7C01%7CSteve.Lowes%40mbie.govt.nz%7C5a65fe33c70b41fd8ba908d976f3a2f1%7C78b2bd11e42b47eab0112e04c3af5ec1%7C0%7C0%7C637671611076719975%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=t%2BidOI32oaKuTJf1AkcG%2B%2FirIJwbrgzXVZnjOAC52Hs%3D&reserved=0>
>>>
>>> [image: Mattr on Twitter]
>>> <https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscanmail.trustwave.com%2F%3Fc%3D15517%26d%3Dw46s4eMXULV_ns1ZfAKYLbVKcqey_PHiW1WdMte6ZA%26u%3Dhttps%253a%252f%252ftwitter.com%252fmattrglobal&data=04%7C01%7CSteve.Lowes%40mbie.govt.nz%7C5a65fe33c70b41fd8ba908d976f3a2f1%7C78b2bd11e42b47eab0112e04c3af5ec1%7C0%7C0%7C637671611076729970%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=BD9WWyXEjVGlbpbCja93yW%2FzLJZpe%2Ff8lGooe8V6i7w%3D&reserved=0>
>>>
>>> [image: Mattr on Github]
>>> <https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscanmail.trustwave.com%2F%3Fc%3D15517%26d%3Dw46s4eMXULV_ns1ZfAKYLbVKcqey_PHiWwGdMoDtMw%26u%3Dhttps%253a%252f%252fgithub.com%252fmattrglobal&data=04%7C01%7CSteve.Lowes%40mbie.govt.nz%7C5a65fe33c70b41fd8ba908d976f3a2f1%7C78b2bd11e42b47eab0112e04c3af5ec1%7C0%7C0%7C637671611076729970%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4AhRuXZCnU5i3hcngo4H3UiNayYUtXpRcImV4slS1mw%3D&reserved=0>
>>>
>>>
>>> This communication, including any attachments, is confidential. If you
>>> are not the intended recipient, you should not read it - please contact me
>>> immediately, destroy it, and do not copy or use any part of this
>>> communication or disclose anything about it. Thank you. Please note that
>>> this communication does not designate an information system for the
>>> purposes of the Electronic Transactions Act 2002.
>>>
>>> ------------------------------
>>> *From:* Dmitry Telegin <dmitryt=40backbase....@dmarc.ietf.org>
>>> *Sent:* 14 December 2022 06:30
>>> *To:* Tobias Looker <tobias.looker@mattr.global>
>>> *Cc:* Ben Schwartz <bem...@google.com>; oauth@ietf.org <oauth@ietf.org>
>>> *Subject:* Re: [OAUTH-WG] OAuth2 Client Discovery
>>>
>>> EXTERNAL EMAIL: This email originated outside of our organisation. Do
>>> not click links or open attachments unless you recognise the sender and
>>> know the content is safe.
>>>
>>> Hello Tobias, thanks for the draft! In regards to prior art, I'd like to
>>> mention Solid Project and their OIDC flavor, Solid-OIDC:
>>> https://solid.github.io/solid-oidc/#clientids-document
>>>
>>> They're using a similar approach (and have been for years), though with
>>> some differences:
>>> - client_id points to a URL that must resolve to the client metadata
>>> document directly (no .well-known/* used);
>>> - the document's format is JSON-LD, a superset of JSON.
>>>
>>> In order to maintain compatibility with Solid and similar existing
>>> technologies, would it make sense to mention that:
>>> - while retrieving client metadata, AS should recognize not only
>>> application/json, but application/ld+json (or maybe even
>>> application/*+json, as per
>>> https://datatracker.ietf.org/doc/html/rfc6839#section-3-1)?
>>> - any unknown fields (like JSON-LD "@context") must be ignored?
>>>
>>> On an unrelated note, it would be nice to cover the issue of caching the
>>> client metadata on the AS side. Obviously, we wouldn't want to re-request
>>> the metadata upon every request to the authorization endpoint. Would RFC
>>> 9111 suffice here? If so, which subset should be guaranteed to be supported
>>> by the AS?
>>>
>>> Thanks,
>>> Dmitry
>>>
>>> On Wed, Nov 9, 2022 at 8:36 PM Tobias Looker <tobias.looker=
>>> 40mattr.glo...@dmarc.ietf.org> wrote:
>>>
>>> Hi Ben,
>>>
>>> See below for some thoughts.
>>>
>>> > I'm having trouble understanding the precise URL structures that are
>>> used here.  Can client_uri include a nontrivial path?  Why is it necessary
>>> to repeat client_uri in the response JSON?
>>>
>>> The intent here is to follow how "OAuth 2.0 authorization metadata"
>>> works (RFC 8414) which requires the client resolving the authorization
>>> server metadata to check that the issuer in the resolved document matches
>>> the issuer URL they started the resolution with, see below for the relevant
>>> extract from RFC 8414.
>>>
>>> "
>>>
>>> The "issuer" value returned MUST be identical to the authorization
>>>    server's issuer identifier value into which the well-known URI string
>>>    was inserted to create the URL used to retrieve the metadata.  If
>>>    these values are not identical, the data contained in the response
>>>    MUST NOT be used.
>>>
>>>
>>> "
>>>
>>> So the equivalent with our draft is to require the authorization server
>>> to validate that the client_uri returned in the clients metadata response
>>> matches the URL that was used to retrieve the metadata.
>>>
>>> > The use of .well-known is a bit unusual.  Why not just host the JSON
>>> at the client_uri?
>>>
>>> Just to clarify it is, just under a well-known path? e.g if the client
>>> uri is https://client.example.com then the metadata would be published
>>> at https://client.example.com/.well-known/oauth-client
>>>
>>> > Finally, I note that the section on Impersonation Attacks doesn't
>>> mention the client_name or logo_uri.  If these are to be shown to the user,
>>> they present a very serious impersonation risk that ought to be discussed.
>>> (The client_name also might need to be localized, which could be done by
>>> fetching the JSON document with an appropriate Accept-Language request
>>> header.)
>>>
>>> Yes absolutely agree this is an important security consideration to
>>> highlight, I will capture an issue.
>>>
>>>
>>> Thanks,
>>>
>>> [image: Mattr website]
>>> <https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscanmail.trustwave.com%2F%3Fc%3D15517%26d%3Dw46s4eMXULV_ns1ZfAKYLbVKcqey_PHiW1WeN4boYw%26u%3Dhttps%253a%252f%252fmattr.global%252f&data=04%7C01%7CSteve.Lowes%40mbie.govt.nz%7C5a65fe33c70b41fd8ba908d976f3a2f1%7C78b2bd11e42b47eab0112e04c3af5ec1%7C0%7C0%7C637671611076709977%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tKqCMzLUQNCeORd908YqfqZoT7tCy%2FMVwXdjpch1sDY%3D&reserved=0>
>>>
>>>
>>>
>>> *Tobias Looker*
>>>
>>> MATTR
>>> CTO
>>>
>>> +64 (0) 27 378 0461 <+64%2027%20378%200461>
>>> tobias.looker@mattr.global
>>>
>>> [image: Mattr website]
>>> <https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscanmail.trustwave.com%2F%3Fc%3D15517%26d%3Dw46s4eMXULV_ns1ZfAKYLbVKcqey_PHiW1WeN4boYw%26u%3Dhttps%253a%252f%252fmattr.global%252f&data=04%7C01%7CSteve.Lowes%40mbie.govt.nz%7C5a65fe33c70b41fd8ba908d976f3a2f1%7C78b2bd11e42b47eab0112e04c3af5ec1%7C0%7C0%7C637671611076709977%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tKqCMzLUQNCeORd908YqfqZoT7tCy%2FMVwXdjpch1sDY%3D&reserved=0>
>>>
>>> [image: Mattr on LinkedIn]
>>> <https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscanmail.trustwave.com%2F%3Fc%3D15517%26d%3Dw46s4eMXULV_ns1ZfAKYLbVKcqey_PHiW1SbN9fvNg%26u%3Dhttps%253a%252f%252fwww.linkedin.com%252fcompany%252fmattrglobal&data=04%7C01%7CSteve.Lowes%40mbie.govt.nz%7C5a65fe33c70b41fd8ba908d976f3a2f1%7C78b2bd11e42b47eab0112e04c3af5ec1%7C0%7C0%7C637671611076719975%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=t%2BidOI32oaKuTJf1AkcG%2B%2FirIJwbrgzXVZnjOAC52Hs%3D&reserved=0>
>>>
>>> [image: Mattr on Twitter]
>>> <https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscanmail.trustwave.com%2F%3Fc%3D15517%26d%3Dw46s4eMXULV_ns1ZfAKYLbVKcqey_PHiW1WdMte6ZA%26u%3Dhttps%253a%252f%252ftwitter.com%252fmattrglobal&data=04%7C01%7CSteve.Lowes%40mbie.govt.nz%7C5a65fe33c70b41fd8ba908d976f3a2f1%7C78b2bd11e42b47eab0112e04c3af5ec1%7C0%7C0%7C637671611076729970%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=BD9WWyXEjVGlbpbCja93yW%2FzLJZpe%2Ff8lGooe8V6i7w%3D&reserved=0>
>>>
>>> [image: Mattr on Github]
>>> <https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fscanmail.trustwave.com%2F%3Fc%3D15517%26d%3Dw46s4eMXULV_ns1ZfAKYLbVKcqey_PHiWwGdMoDtMw%26u%3Dhttps%253a%252f%252fgithub.com%252fmattrglobal&data=04%7C01%7CSteve.Lowes%40mbie.govt.nz%7C5a65fe33c70b41fd8ba908d976f3a2f1%7C78b2bd11e42b47eab0112e04c3af5ec1%7C0%7C0%7C637671611076729970%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4AhRuXZCnU5i3hcngo4H3UiNayYUtXpRcImV4slS1mw%3D&reserved=0>
>>>
>>>
>>> This communication, including any attachments, is confidential. If you
>>> are not the intended recipient, you should not read it - please contact me
>>> immediately, destroy it, and do not copy or use any part of this
>>> communication or disclose anything about it. Thank you. Please note that
>>> this communication does not designate an information system for the
>>> purposes of the Electronic Transactions Act 2002.
>>>
>>> ------------------------------
>>> *From:* Ben Schwartz <bemasc=40google....@dmarc.ietf.org>
>>> *Sent:* 10 November 2022 07:04
>>> *To:* Tobias Looker <tobias.looker@mattr.global>
>>> *Cc:* oauth@ietf.org <oauth@ietf.org>
>>> *Subject:* Re: [OAUTH-WG] OAuth2 Client Discovery
>>>
>>> EXTERNAL EMAIL: This email originated outside of our organisation. Do
>>> not click links or open attachments unless you recognise the sender and
>>> know the content is safe.
>>>
>>> _______________________________________________
>>> 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
>>
> _______________________________________________
> 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

Reply via email to