Hi David,

I do not quite understand the goal - what would you like the well-known
> location to resolve to instead?


Apologies for not clarifying the end goal. Can we relax this restriction so
that the .well-known part will be suffixed to the end of the authorization
server URL, so that the AS metadata URL of AS
https://api.asgardeo.io/t/sampletenant/oauth2/token would be
https://api.asgardeo.io/t/sampletenant/oauth2/token/.well-known/oauth-authorization-server
?

Since RFC8414 defines OAuth server metadata using the well-known system,
> the metadata is going to be specific to the host - in the second case
> provided, it will be resolved by looking at a static location on
> https://sampletenant.api.asgardeo.io . That is a function of the metadata
> being for a particular host, and not the mechanism to distinguish path
> components. Unfortunately, changing this to resolve .e.g by looking at each
> valid parent domain would change security properties.


Note however that there is no reason that
> https://api.asgardeo.io/t/sampletenant couldn’t be used as the issuer
> identifier, get resolved via a .well-known on api.asgardeo.io, but point
> entirely to endpoints on sampeltenant.api.asgardeo.io. I however do not
> understand the reasoning that the well-known data couldn’t be hosted on the
> subdomain directly if endpoints are also on the subdomain.


Quoting from the AS metadata spec,

   Using path components enables supporting multiple issuers per host.
   This is required in some multi-tenant hosting configurations.  This
   use of ".well-known" is for supporting multiple issuers per host;
   unlike its use in RFC 5785
<https://datatracker.ietf.org/doc/html/rfc5785> [RFC5785
<https://datatracker.ietf.org/doc/html/rfc5785>], it does not provide
general
   information about the host.

If the defined path component handling mechanism is to support multiple
issuers per host, hosting the .well-known on subdomain would violate the
specification, wouldn't it?

On Thu, Jul 31, 2025 at 1:22 PM David Waite <david=
40alkaline-solutions....@dmarc.ietf.org> wrote:

> I do not quite understand the goal - what would you like the well-known
> location to resolve to instead?
>
> The .well-known system (RFC 5785) is used for providing host metadata by
> hosting it in a pre-defined location, and (as far as I know) is the only
> IETF-encouraged mechanism for statically defining the location of content
> or an API over HTTP. The RFC and OpenID Foundation input document differ in
> that the OpenID variant did not construct the well-known location in the
> expected manner (e.g. with all information under
> /.well-known/openid-configuration )
>
> Since RFC8414 defines OAuth server metadata using the well-known system,
> the metadata is going to be specific to the host - in the second case
> provided, it will be resolved by looking at a static location on
> https://sampletenant.api.asgardeo.io . That is a function of the metadata
> being for a particular host, and not the mechanism to distinguish path
> components. Unfortunately, changing this to resolve .e.g by looking at each
> valid parent domain would change security properties.
>
> Note however that there is no reason that
> https://api.asgardeo.io/t/sampletenant couldn’t be used as the issuer
> identifier, get resolved via a .well-known on api.asgardeo.io, but point
> entirely to endpoints on sampeltenant.api.asgardeo.io. I however do not
> understand the reasoning that the well-known data couldn’t be hosted on the
> subdomain directly if endpoints are also on the subdomain.
>
> -DW
>
>
> On Jul 31, 2025, at 1:05 AM, Pavindu Lakshan <pavindulaks...@gmail.com>
> wrote:
>
> Hi all,
>
> The OAuth Authorization Server Metadata specification [1] states that when
> the authorization server URL includes a path component, the metadata
> endpoint should be constructed by removing that path, appending
> /.well-known/oauth-authorization-server, and then adding the original
> path component to the end.
>
> For example, if the issuer URL is
> https://api.asgardeo.io/t/sampletenant/oauth2/token, the correct metadata
> URL (according to the current spec) would be:
>
> https://api.asgardeo.io/.well-known/oauth-authorization-server/t/sampletenant/oauth2/token
>
> This approach seems to be based on the reasoning that a single
> authorization server may support multiple tenants or issuers, and that
> placing .well-known at the AS root and appending the remaining path
> better reflects that hierarchical structure [2].
>
> However, this reasoning doesn’t quite apply when the tenant is represented
> using a subdomain.
> For instance, if the issuer is https://sampletenant.api.asgardeo.io,
> since it lacks a path component, the metadata URL would simply become:
> https://sampletenant.api.asgardeo.io/.well-known/oauth-authorization-server
> — even though https://sampletenant.api.asgardeo.io may not truly
> represent the AS root, but rather another issuer defined by the IdP.
>
> Given this, would it be possible to revisit the restriction around path
> component handling for constructing the AS metadata URL?
> [1] https://datatracker.ietf.org/doc/html/rfc8414
> [2] https://datatracker.ietf.org/doc/html/rfc8414#section-3.1
>
> Best regards
> Pavindu
>
>
> _______________________________________________
> OAuth mailing list -- oauth@ietf.org
> To unsubscribe send an email to oauth-le...@ietf.org
>
>
> _______________________________________________
> OAuth mailing list -- oauth@ietf.org
> To unsubscribe send an email to oauth-le...@ietf.org
>
_______________________________________________
OAuth mailing list -- oauth@ietf.org
To unsubscribe send an email to oauth-le...@ietf.org

Reply via email to