Huh, why? It sounds like you are saying we want:

[image: image.png]

Just so that the SDK developer can write in their code:
document.getElementById...

They can already write a library that works with any backend by providing
these urls as input into the SDK. Not to mention input into the SDK is a
sane place to put the urls. You'd have to justify that putting the
configuration into the input of the SDK is actually non-obvious. But I
haven't seen that discussion yet.

Warren Parad

Founder, CTO
Secure your user data with IAM authorization as a service. Implement
Authress <https://authress.io/>.


On Mon, May 17, 2021 at 10:56 PM Aaron Parecki <aa...@parecki.com> wrote:

> Not exactly. The thinking is by standardizing these endpoints in some way,
> it would allow client library developers to write generic libraries that
> can work with any backend.
>
>
> On Mon, May 17, 2021 at 1:53 PM Warren Parad <wparad=
> 40rhosys...@dmarc.ietf.org> wrote:
>
>> I can't follow the discussion. So I'm still missing why the endpoints
>> would need to be listed anywhere. Isn't the developer of the html page, the
>> same developer that will configure the HTTP request to go to the backend?
>>
>> Warren Parad
>>
>> Founder, CTO
>> Secure your user data with IAM authorization as a service. Implement
>> Authress <https://authress.io/>.
>>
>>
>> On Mon, May 17, 2021 at 10:04 PM Brian Campbell <bcampbell=
>> 40pingidentity....@dmarc.ietf.org> wrote:
>>
>>> The interim discussion can be found here
>>> https://codimd.ietf.org/s/notes-ietf-interim-2021-oauth-09-oauth#Discussion
>>> but the general context, as I understand it, is that there's a desire to
>>> have the location of the two application endpoints be conveyed to the
>>> frontend in a defined way that avoids out-of-band configuration and also
>>> doesn't infringe on the application namespace. The current draft places the
>>> two endpoints directly in .well-known but a number of folks have stated
>>> reasons that's less than ideal or even unworkable in many common
>>> deployments. Moving to a single static document in .well-known that lists
>>> the endpoint locations is one alternative approach. This thread suggests a
>>> different alternative of placing the locations in HTML meta/link tags or
>>> link headers returned with the application's main html page.
>>>
>>>
>>> On Sun, May 16, 2021 at 2:04 AM Warren Parad <wparad=
>>> 40rhosys...@dmarc.ietf.org> wrote:
>>>
>>>> I agree, missing context for this:
>>>>
>>>> As discussed in the interim, a well known set of endpoints (or even a
>>>> single root client discovery document) might not always be available for
>>>> control to the webpage depending on where and how it is hosted, on the
>>>> other hand the HTML it serves always, I hope, is.
>>>>
>>>> Wouldn't this only be used as input to a SDK, why wouldn't you just
>>>> define the configuration in javascript, like everything else?
>>>>
>>>> Also, is it required or something that can be added later?
>>>>
>>>> On Sun, May 16, 2021, 09:26 Philippe De Ryck <
>>>> phili...@pragmaticwebsecurity.com> wrote:
>>>>
>>>>> Without having the full context of the interim meeting, this feels
>>>>> really off to me. I see the need for making this configurable, but I have
>>>>> doubts about using HTML elements for this purpose.
>>>>>
>>>>> As far as I understand, this mechanism is supposed to be used for
>>>>> modern frontends (Angular, React, …). Having to add variables to the
>>>>> index.html in these applications is likely to conflict with their
>>>>> development paradigms. It would be much easier to add these variables to
>>>>> the environment file, so you can differentiate between dev and prod when
>>>>> necessary.
>>>>>
>>>>> Additionally, querying the DOM for API endpoints sounds like a lot of
>>>>> trouble. I don’t think that injection is that big of a risk, but I might 
>>>>> be
>>>>> wrong (I’m sure someone said that about the base tag as well). However,
>>>>> using DOM APIs like this will cause headaches for server-side rendering,
>>>>> where these DOM APIs are typically not available (e.g.,
>>>>> https://stackoverflow.com/questions/62896223/is-there-a-way-to-access-dom-serverside
>>>>> ).
>>>>>
>>>>> Kind regards
>>>>>
>>>>> Philippe
>>>>>
>>>>> —
>>>>> *Pragmatic Web Security*
>>>>> *Security for developers*
>>>>> https://pragmaticwebsecurity.com/
>>>>>
>>>>>
>>>>> On 15 May 2021, at 17:35, Filip Skokan <panva...@gmail.com> wrote:
>>>>>
>>>>> Hello Vittorio, Brian, everyone
>>>>>
>>>>> This is a followup to my feedback in the TMI BFF interim meeting on
>>>>> April 26th where I mentioned I'd bring this to the list for discussion.
>>>>>
>>>>> I proposed an alternative to using fixed endpoint locations and/or
>>>>> discovery. HTML <meta> Tags
>>>>> <https://www.w3schools.com/tags/tag_meta.asp>.
>>>>>
>>>>> These would be in the returned page HTML's head tag, e.g.
>>>>>
>>>>> <meta name="oauth-bff-token" content="/api/bff-token">
>>>>>> <meta name="oauth-bff-sessioninfo" content="/api/bff-sessioninfo">
>>>>>
>>>>>
>>>>> The javascript SDK handing TMI BFF would know to look for these
>>>>> defined meta tags to source the location of the different endpoints. I
>>>>> think this could be the primary place an SDK would look at as it doesn't
>>>>> require any upfront external requests.
>>>>>
>>>>> For the SDK this is as simple as
>>>>>
>>>>> var bffTokenPath =
>>>>>> document.querySelector('meta[name="oauth-bff-token"]').content;
>>>>>
>>>>>
>>>>> If this was the only mechanism defined by the document (to be bashed)
>>>>> I think it can save the group a lot of time defining a client discovery
>>>>> document which would be otherwise needed. If discovery as an alternative
>>>>> solution is indeed inevitable, it can be a second in line mechanism the
>>>>> javascript SDK would know to use.
>>>>>
>>>>> As discussed in the interim, a well known set of endpoints (or even a
>>>>> single root client discovery document) might not always be available for
>>>>> control to the webpage depending on where and how it is hosted, on the
>>>>> other hand the HTML it serves always, I hope, is.
>>>>>
>>>>> Best,
>>>>> *Filip Skokan*
>>>>> _______________________________________________
>>>>> 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
>>>>
>>>
>>> *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
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to