Hi all,

In regards to the use cases for CORS in the Authorization endpoint - what
about a SPA requesting a step-up reauthentication? Especially if it is
"silent", e.g. initiating out-of-band authentication without the need for
user interaction. Currently, we don't have too many options; it's either a
full redirect + app reload (not so good from the UX point of view) or a
(hidden) iframe. Probably deserves a separate discussion?

On a related note, Connect2ID seems to be the only IAM solution that offers
limited support for CORS in the Authorization endpoint (prompt=none +
response_mode=cors). The use case they're supporting is silent refresh in
the absence of a long-lived refresh token. See link:
https://connect2id.com/products/server/docs/guides/cors-response-mode

Also, it has been mentioned that "CORS on the authorization endpoint is a
security issue" - could we elaborate on that? What would be the
ramifications of having it?

Cheers,
Dmitry

On Thu, Mar 9, 2023 at 9:23 AM Filip Skokan <panva...@gmail.com> wrote:

> Hello Christopher,
>
> The wmrm specification use does not require CORS at the authorization
> endpoint.
>
> - Filip
>
> 9. 3. 2023 v 10:12, Christopher Burroughs <chris.burroughs=
> 40protonmail...@dmarc.ietf.org>:
>
> 
> Greetings,
>
> I apologize in advance if this question (my first in this list!) is silly
> :)
>
> Regarding CORS support for the authorization endpoint, what about "web
> message" silent refresh flows? While it never became an RFC, I reckon it is
> implemented in quite a few places. Is this pattern generally discouraged
> now? Perhaps even more due to the unavailability of same site cookies?
>
> Thanks for the interesting discussions,
>
> Best regards,
> Chris
>
>
> Sent with Proton Mail <https://proton.me/> secure email.
>
> ------- Original Message -------
> On Thursday, March 9th, 2023 at 16:57, Vittorio Bertocci <vittorio=
> 40auth0....@dmarc.ietf.org> wrote:
>
> Ha, we chatted about this during yesterday's office hours meeting and I
> was chartered to propose new language, but I am not sure how to incorporate
> this new info. Let me try to summarize here and see your reactions, DW.
> Apps implemented in SPAs style can either handle token acquisition and
> renewal from the user agent code, via classic authorization code + PKCE, or
> delegate that to a backend (BFF or "TMI BFF") while retaining "SPA style"
> for every other app function (eg UX). CORS is required only for the former
> approach, and one could argue that the latter offers better security.
> We can either expand on that nuance, or more simply switch the SHOULD to
> MAY so that we inform the reader of what it takes to support (a style of
> SPA) but we don't appear to be advocating for the less secure option.
>
> On CORS for the authorization endpoint. I thought the MUST NOT was aimed
> at preventing programmatic access to the authorization endpoint from user
> agents. Flipping around: are there any *other* scenarios involving the
> authorization endpoint for which CORS support enables valid use cases?
>
>
>
> On Wed, Mar 8, 2023 at 10:50 AM David Waite <david=
> 40alkaline-solutions....@dmarc.ietf.org> wrote:
>
>> *This message originated outside your organization.*
>>
>> ------------------------------
>>
>> I would suggest SHOULD guidance for CORS for OAuth token endpoints and
>> authorization endpoints which are publicly accessible.
>>
>> There are a lot of misconceptions about the security properties of CORS,
>> and in particular the security properties from disabling CORS for an
>> otherwise safe resource. To my knowledge there is one benefit of disabling
>> for solely internally-facing infrastructure.
>>
>> To detail, a public website interacting with a user agent bridging public
>> and private networks can use IPs and DNS to attempt to scan internal web
>> infrastructure. It may attempt to manipulate browser-accessible resources
>> via GET/POST, and get some information on the shape of the network via
>> error and timing-based analysis. Enabling or disabling CORS does not affect
>> reachability for GET/form POST requests (which do not require CORS
>> preflight), but does affect visibility of the response.
>>
>> In such an environment, having CORS enabled for a metadata resource might
>> reveal additional information to an attacker - such as purpose of a
>> particular system, and possibly the author/vendor of a particular product.
>> Note that they may be able to get this from other heuristics of that
>> product as well, through analysis of other GET/POST requests (such as to
>> vendor-specific endpoints).
>>
>> There is an incubated effort (
>> https://wicg.github.io/local-network-access/
>> <https://urldefense.com/v3/__https://wicg.github.io/local-network-access/__;!!PwKahg!76HmCyMyQavm5j-6pTSkGFl4O3h1x_tU9APEfd-sc8v8Pes4MMwX04xkxX2MWAkwT4gQj_w60r_mlm1DVz_gAjIMXageTnA$>
>> ) which has rather good introductory/explainer text for this class of
>> issue. I believe Chrome has partially implemented (targeting roll out in
>> 113) - I do not know other browser intention or status. As currently
>> documented, this would effectively block API access across public and
>> internal/private network ranges without a CORS pre-flight and a new
>> pre-flight response. If adopted by other browsers, this provides a stronger
>> ability to give SHOULD guidance for CORS, without distinctions between
>> public and internal/private infrastructure.
>>
>> -DW
>>
>> On Mar 8, 2023, at 8:36 AM, Aaron Parecki <aaron=
>> 40parecki....@dmarc.ietf.org> wrote:
>>
>> Since that is my comment referenced in the OpenID thread, I should
>> clarify that my intent was to have this language in the Security BCP with
>> the caveat that it's only applicable if your AS intends on supporting SPAs.
>> In other words, we're not saying all ASs SHOULD add CORS headers, only ASs
>> that intend on supporting SPAs. However, even if the AS does not intend on
>> supporting SPAs, it still MUST NOT enable CORS at the authorization
>> endpoint.
>>
>> I don't know the best language to put in front of Mike's suggested text
>> to make that clear, so suggestions are welcome.
>>
>> Aaron
>>
>>
>> On Tue, Mar 7, 2023 at 11:16 PM Mike Jones <Michael.Jones=
>> 40microsoft....@dmarc.ietf.org> wrote:
>>
>>> I propose adding the following section to the OAuth Security BCP
>>> specification:
>>>
>>> *Usage of CORS*
>>>
>>> The Token Endpoint,
>>>
>>> Authorization Server Metadata Endpoint,
>>>
>>> <spanx style="verb">jwks_uri</spanx> Endpoint,
>>>
>>> Dynamic Client Registration Endpoint,
>>>
>>> and any other endpoints directly accessed by Clients
>>>
>>> SHOULD support the use of
>>>
>>> <xref target="CORS">Cross-Origin Resource Sharing (CORS)</xref>
>>>
>>> to enable JavaScript Clients and other browser-based Clients to access
>>> them.
>>>
>>> CORS MUST NOT be used at the Authorization Endpoint
>>>
>>> as it is redirected to by the client and not directly accessed.
>>>
>>> Relevant background information can be found at
>>> https://bitbucket.org/openid/connect/issues/980
>>> <https://urldefense.com/v3/__https://bitbucket.org/openid/connect/issues/980__;!!PwKahg!76HmCyMyQavm5j-6pTSkGFl4O3h1x_tU9APEfd-sc8v8Pes4MMwX04xkxX2MWAkwT4gQj_w60r_mlm1DVz_gAjIMNv-T0eA$>
>>> and
>>> https://bitbucket.org/openid/connect/pull-requests/338/errata-specified-the-use-of-cors-at
>>> <https://urldefense.com/v3/__https://bitbucket.org/openid/connect/pull-requests/338/errata-specified-the-use-of-cors-at__;!!PwKahg!76HmCyMyQavm5j-6pTSkGFl4O3h1x_tU9APEfd-sc8v8Pes4MMwX04xkxX2MWAkwT4gQj_w60r_mlm1DVz_gAjIM9UER3uA$>
>>> .
>>>
>>> -- Mike
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>> <https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/oauth__;!!PwKahg!76HmCyMyQavm5j-6pTSkGFl4O3h1x_tU9APEfd-sc8v8Pes4MMwX04xkxX2MWAkwT4gQj_w60r_mlm1DVz_gAjIMa2CknSg$>
>>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>> <https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/oauth__;!!PwKahg!76HmCyMyQavm5j-6pTSkGFl4O3h1x_tU9APEfd-sc8v8Pes4MMwX04xkxX2MWAkwT4gQj_w60r_mlm1DVz_gAjIMa2CknSg$>
>>
>>
>> _______________________________________________
>> 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