Interesting. Even on this list people felt to see that moving some logic to a 
backend could solve some of the problems raised. What I want to convey is: the 
solution to a problem in the OAuth space does not necessarily need to be found 
on the OAuth protocol level. That’s a best practice in the same way as some 
OAuth pattern. 

What I’m suggesting is a statement in the BCP like

—
Implementations MAY consider to move authorization code exchange and handling 
of access and refresh tokens to a backend component in order to fulfill their 
security goals. 

Security of the connection between code running in the browser and this backend 
component is assumed to utilize browser-level protection mechanisms. Details 
are out of scope of this document. 
—

> Am 03.12.2018 um 11:19 schrieb John Bradley <ve7...@ve7jtb.com>:
> 
> This is my point.  
> 
> From a security perspective we have a server based confidential client.   The 
> fact that it has a angular or other JS UI protected by a cookie seems to not 
> be especially relucent to OAuth.  
> 
> Perhaps from the developer point of view they have a JS SPA and the only 
> difference to them is in one case they are including the OAuth client and in 
> the other they are using a server based proxy. So they see it as the same.
> 
> Perhaps it is perspective. 
> 
> On Mon, Dec 3, 2018, 12:44 AM Aaron Parecki <aa...@parecki.com wrote:
> In this type of deployment, as far as OAuth is concerned, isn't the backend 
> web server a confidential client? Is there even anything unique to this 
> situation as far as OAuth security goes? 
> 
> I wouldn't have expected an Angular app that talks to its own server backend 
> that's managing OAuth credentials to fall under the umbrella of this BCP.
> 
> ----
> Aaron Parecki
> aaronparecki.com
> 
> 
> 
> On Sat, Dec 1, 2018 at 11:31 PM Torsten Lodderstedt <tors...@lodderstedt.net> 
> wrote:
> the UI is rendered in the frontend, UI control flow is in the frontend. just 
> a different cut through the web app’s layering 
> 
> All Angular apps I have seen so far work that way. And it makes a lot of 
> sense to me. The backend can aggregate and optimize access to the underlying 
> services without the need to fully expose them.
> 
> Am 02.12.2018 um 00:44 schrieb John Bradley <ve7...@ve7jtb.com>:
> 
>> How is that different from a regular server client with a web interface if 
>> the backed is doing the API calls to the RS?
>> 
>> 
>> 
>> On 12/1/2018 12:25 PM, Torsten Lodderstedt wrote:
>>> I forgot to mention another (architectural) option: split an application 
>>> into frontend provided by JS in the browser and a backend, which takes care 
>>> of the business logic and handles tokens and API access. Replay detection 
>>> at the interface between SPA and backend can utilize standard web 
>>> techniques (see OWASP). The backend in turn can use mTLS for sender 
>>> constraining.
>>> 
>>> Am 01.12.2018 um 15:34 schrieb Torsten Lodderstedt 
>>> <tors...@lodderstedt.net>:
>>> 
>>>> IMHO the best mechanism at hand currently to cope with token 
>>>> leakage/replay in SPAs is to use refresh tokens (rotating w/ replay 
>>>> detection) and issue short living and privilege restricted access tokens.
>>>> 
>>>> Sender constrained access tokens in SPAs need adoption of token binding or 
>>>> alternative mechanism. mtls could potentially work in deployments with 
>>>> automated cert rollout but browser UX and interplay with fetch needs some 
>>>> work. We potentially must consider to warm up application level PoP 
>>>> mechanisms in conjunction with web crypto. Another path to be evaluated 
>>>> could be web auth.
>>>> 
>>>> Am 01.12.2018 um 10:15 schrieb Hannes Tschofenig 
>>>> <hannes.tschofe...@arm.com>:
>>>> 
>>>>> I share the concern Brian has, which is also the conclusion I came up 
>>>>> with in my other email sent a few minutes ago.
>>>>> 
>>>>>  
>>>>> 
>>>>> From: OAuth <oauth-boun...@ietf.org> On Behalf Of Brian Campbell
>>>>> Sent: Friday, November 30, 2018 11:43 PM
>>>>> To: Torsten Lodderstedt <tors...@lodderstedt.net>
>>>>> Cc: oauth <oauth@ietf.org>
>>>>> Subject: Re: [OAUTH-WG] draft-parecki-oauth-browser-based-apps-00
>>>>> 
>>>>>  
>>>>> 
>>>>>  
>>>>> 
>>>>> On Sat, Nov 17, 2018 at 4:07 AM Torsten Lodderstedt 
>>>>> <tors...@lodderstedt.net> wrote:
>>>>> 
>>>>> > Am 15.11.2018 um 23:01 schrieb Brock Allen <brockal...@gmail.com>:
>>>>> > 
>>>>> > So you mean at the resource server ensuring the token was really issued 
>>>>> > to the client? Isn't that an inherent limitation of all bearer tokens 
>>>>> > (modulo HTTP token binding, which is still some time off)?
>>>>> 
>>>>> Sure. That’s why the Security BCP recommends use of TLS-based methods for 
>>>>> sender constraining access tokens 
>>>>> (https://tools.ietf.org/html/draft-ietf-oauth-security-topics-09#section-2...2).
>>>>>  Token Binding for OAuth 
>>>>> (https://tools.ietf.org/html/draft-ietf-oauth-token-binding-08) as well 
>>>>> as Mutual TLS for OAuth 
>>>>> (https://tools.ietf.org/html/draft-ietf-oauth-mtls-12) are the options 
>>>>> available.
>>>>> 
>>>>>  
>>>>> 
>>>>> Unfortunately even when using the token endpoint, for SPA / in-browser 
>>>>> client applications, the potential mechanisms for sender/key-constraining 
>>>>> access tokens don't work very well or maybe don't work at all. So I don't 
>>>>> know that the recommendation is very realistic.
>>>>> 
>>>>>  
>>>>> 
>>>>> 
>>>>> 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.
>>>>> 
>>>>> IMPORTANT NOTICE: The contents of this email and any attachments are 
>>>>> confidential and may also be privileged. If you are not the intended 
>>>>> recipient, please notify the sender immediately and do not disclose the 
>>>>> contents to any other person, use it for any purpose, or store or copy 
>>>>> the information in any medium. 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
>> _______________________________________________
>> 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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to