It requires third party cookies which most browsers block by default, and
doesn't this assume that the cookie is set to *SameSite=Loose *or
*SameSite=None*. Wouldn't that directly expose that cookie for malicious
sites to utilize it to steal connect2Id generate access tokens?

Also what I don't understand from the connect2id site is:

> Performing the redirection in a hidden iframe doesn't normally work for an
> SPA either.


Why does it say that? (I feel like it drops this little bomb in there and
then runs away. maybe there is a specific reason, but if there is it is
lost on me)

On Thu, Mar 9, 2023 at 12:13 PM Dmitry Telegin <dmitryt=
40backbase....@dmarc.ietf.org> wrote:

> 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
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to