I politely encourage the rules to be bent and to integrate this basic but 
fundamental security control into the core standard.

This is just basic security; we want as much basic security in the core of any 
standard. Dev’s now need to read 20 standards to get OAuth2 basics... and 
that’s a barrier to entry.

--
Jim Manico
@Manicode

> On Jul 30, 2020, at 3:21 PM, Dick Hardt <dick.ha...@gmail.com> wrote:
> 
> 
> One of the constraints of the OAuth 2.1 document that aligned the WG was it 
> would have no new features.
> 
> I'd recommend a separate document for the cookie bearer token feature. 
> 
> ᐧ
> 
>> On Thu, Jul 30, 2020 at 12:15 PM Jim Manico <j...@manicode.com> wrote:
>> Yea to cookie configuration suggestions!
>> 
>> I suggest SameSite=LAX at least, which is actually the default behavior in 
>> chrome if you do not set the samesite value. LAX will not break links that 
>> originate from emails, STRICT will.
>> 
>> Point being is that CSRF defense is easy. XSS defense is brutally hard in 
>> apps with complex UI’s!
>> 
>> --
>> Jim Manico
>> @Manicode
>> 
>> 
>>>> On Jul 30, 2020, at 1:13 PM, Warren Parad <wpa...@rhosys.ch> wrote:
>>>> 
>>> 
>>>> Cookie storage of tokens does leave one open to CSRF attacks so it's 
>>>> certainly a trade-off. But CSRF is much easier to defense against that XSS 
>>>> and cookies are a better choice if the specific risk of having tokens 
>>>> stolen via XSS matters to your threat model.
>>> 
>>> I would assume if we included cookie language, it would explicitly specify 
>>> Secure; HttpOnly; SameSite=Strict as the recommendation, and then neither 
>>> XSS nor CSRF should be a problem (right?)
>>> 
>>> 
>>>> OAuth 2.1 isn't supposed to add new features that don't already exist, but 
>>>> this sounds like a good candidate to develop as an OAuth extension.
>>> 
>>> Is this really a new feature though?
>>> 
>>> Okay, I'll submit that RFC 6749 does state the cookie wouldn't be created 
>>> by the AS.
>>>> 5.1.  Successful Response
>>>>    The authorization server issues an access token and optional refresh
>>>>    token, and constructs the response by adding the following parameters
>>>>    to the entity-body of the HTTP response with a 200 (OK) status code:
>>>  
>>> However that wouldn't prevent a client using the password grant (I know I 
>>> said a bad word) or authorization code flow from creating the cookie to 
>>> contain that. Specifically
>>>> 7.  Accessing Protected Resources
>>>>    The client accesses protected resources by presenting the access
>>>>    token to the resource server.  The resource server MUST validate the
>>>>    access token and ensure that it has not expired and that its scope
>>>>    covers the requested resource.  The methods used by the resource
>>>>    server to validate the access token (as well as any error responses)
>>>>    are beyond the scope of this specification but generally involve an
>>>>    interaction or coordination between the resource server and the
>>>>    authorization server.
>>>>    The method in which the client utilizes the access token to
>>>>    authenticate with the resource server depends on the type of access
>>>>    token issued by the authorization server.  Typically, it involves
>>>>    using the HTTP "Authorization" request header field [RFC2617] with an
>>>>    authentication scheme defined by the specification of the access
>>>>    token type used, such as [RFC6750].
>>> 
>>> So that's definitely some gray area. Although perhaps I'm missing a 
>>> relevant section. If we are going to go so far to detail a list of possible 
>>> RS bearer token possible locations (i.e. Header and Body), to what I assume 
>>> is to implicitly say Don't use a query parameter. It also suggests Don't 
>>> use a cookie at all, even with SameSite=Strict. Although maybe that is the 
>>> point.
>>> 
>>> For my reference, what makes a new feature and what makes an OAuth 
>>> extension?
>>> 
>>> 
>>> Warren Parad
>>> Founder, CTO
>>> Secure your user data and complete your authorization architecture. 
>>> Implement Authress.
>>> 
>>> 
>>>> On Thu, Jul 30, 2020 at 6:46 PM Aaron Parecki <aa...@parecki.com> wrote:
>>>> I haven't seen any OAuth drafts that talk about sending OAuth access 
>>>> tokens in HTTP cookies. OAuth 2.1 isn't supposed to add new features that 
>>>> don't already exist, but this sounds like a good candidate to develop as 
>>>> an OAuth extension.
>>>> 
>>>> ---
>>>> Aaron Parecki
>>>> https://aaronparecki.com
>>>> https://oauth2simplified.com 
>>>> 
>>>>> On Thu, Jul 30, 2020 at 9:35 AM Jim Manico <j...@manicode.com> wrote:
>>>>> In a browser, HTTPOnly cookies are the only location where an access (or 
>>>>> other) token can be stored in a way where it cannot be stolen from XSS.
>>>>> 
>>>>> It's a very strong place to store tokens from a security point of view..
>>>>> 
>>>>> Cookie storage of tokens does leave one open to CSRF attacks so it's 
>>>>> certainly a trade-off. But CSRF is much easier to defense against that 
>>>>> XSS and cookies are a better choice if the specific risk of having tokens 
>>>>> stolen via XSS matters to your threat model.
>>>>> 
>>>>> - Jim
>>>>> 
>>>>> On 7/30/20 11:43 AM, Warren Parad wrote:
>>>>>> https://www.ietf.org/id/draft-ietf-oauth-v2-1-00.html#name-bearer-tokens
>>>>>> 
>>>>>> It seems recently more and more common to pass the access_token to some 
>>>>>> RS via a cookie, yet 7.2.1 says it defines two methods. I think we need 
>>>>>> some RFC2119 keywords here, to suggest that either SHOULD use one of 
>>>>>> these two, or MUST. And then optionally state whether or not we 
>>>>>> recommend or reject the use of cookies as a place for access tokens. 
>>>>>> It's also possible that the language threw me off, because would an 
>>>>>> access token in a cookie be a bearer token, but no matter, if I'm having 
>>>>>> this thought, then surely others have it as well, right?
>>>>>> 
>>>>>> <image.png>
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Warren Parad
>>>>>> Founder, CTO
>>>>>> Secure your user data and complete your authorization architecture. 
>>>>>> Implement Authress.
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> OAuth mailing list
>>>>>> OAuth@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>> -- 
>>>>> Jim Manico
>>>>> Manicode Security
>>>>> https://www.manicode.com
>>>>> _______________________________________________
>>>>> 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