Re: [OAUTH-WG] Recommendations for browser-based apps
Jim Manico <jim@manicode.com> Wed, 20 September 2017 01:32 UTC
Return-Path: <jim@manicode.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B794B1320DC for <oauth@ietfa.amsl.com>; Tue, 19 Sep 2017 18:32:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=manicode-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZcP4YZoFZXHc for <oauth@ietfa.amsl.com>; Tue, 19 Sep 2017 18:31:58 -0700 (PDT)
Received: from mail-pg0-x234.google.com (mail-pg0-x234.google.com [IPv6:2607:f8b0:400e:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1D5161321AC for <oauth@ietf.org>; Tue, 19 Sep 2017 18:31:58 -0700 (PDT)
Received: by mail-pg0-x234.google.com with SMTP id p5so821546pgn.7 for <oauth@ietf.org>; Tue, 19 Sep 2017 18:31:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=manicode-com.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=sRN9VgI19d/moiEgqjIoVgMh1F6k+bS2t7JCZedAlew=; b=paRlqQJtMV2E/6/cdfC7L4GoptL+KUqqs3orWTvkRLdGpNhzyY9q458PCykYxrRWN2 fJ6mct3nnx3iW6STLtZhSo0YaZeM/TKv5WqTmWTpR+MmO2ZKzOaJmIKsFGFFhPYHUxVz b0JZTnSUK7vtEKwrv+oc3aYrv5AEu98mtG16A/8wBdRZS9i7LwDpsCxLGG2s1kE5ym0F eY3c6FfIJd8/CXN45tbMhv5f1XWSytF8mRGVzO0qOutAWYgOm/gLyOJ827M13uGNH+KQ hHpi7zDCkVpkyrYrWUV+K7BFdeXOrzNSrLuQF00YJ0Z0IegurM0dPjKnCDS5JEJtnc/r EPUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=sRN9VgI19d/moiEgqjIoVgMh1F6k+bS2t7JCZedAlew=; b=K5N2FUdFVTkaXefrhqThMsHkyUwy12vsgEGHz8qCaTMnUB4tlCmYf5X8tY+nV13iBQ idcqqNgFePejnHI46je4lNRVhWpYTYEQvYYJXRepnyPTMHuQJSJxcIbJXUQsXEbz8F2f PNzArmS0lmzKH8vUslYeki2QeA5ZgiqQyXCOyG0+GGyU0TINX8DosUoam3m8pjtovy8g TAhOT0C06/Vvp0BfMNjfA+0gnxe4S1esADN1PQl6qycHNhZx1EPUitiUxrAGgUu8rf+x ap/9HZvcswNG3Jc4bzCWcjvykSc1yVA1wD0czefdSDPOAPgEI/F95zoVQ06BXEJzwcWk wsxQ==
X-Gm-Message-State: AHPjjUg0Yovb8Z748gRXnxKcOzrhd4QMbtKbvR3gB1I0DKsIMHsg4L9y HohA6Iv3ZVGt/UwdvWrN5ZgX8o8/Kdc=
X-Google-Smtp-Source: AOwi7QD6dIYC515eEUO07kyCuncktPgZKI4FhnF6k5igOuy0VhzJL2m4LJy+nhlBwcShSeK/1RntQg==
X-Received: by 10.98.178.133 with SMTP id z5mr499154pfl.312.1505871117156; Tue, 19 Sep 2017 18:31:57 -0700 (PDT)
Received: from [10.3.48.101] (mobile-166-170-38-115.mycingular.net. [166.170.38.115]) by smtp.gmail.com with ESMTPSA id n10sm5883209pfh.121.2017.09.19.18.31.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Sep 2017 18:31:54 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail-3FF7B216-0132-4FF0-B3F0-1EC887A08862"
Mime-Version: 1.0 (1.0)
From: Jim Manico <jim@manicode.com>
X-Mailer: iPhone Mail (14G60)
In-Reply-To: <CABRXCmwDQ_uZXDaaX6gxn_J_FnaCDucA-5uZwF6K1uHMQs6nzw@mail.gmail.com>
Date: Wed, 20 Sep 2017 09:31:48 +0800
Cc: nov matake <matake@gmail.com>, OAuth WG <oauth@ietf.org>
Content-Transfer-Encoding: 7bit
Message-Id: <1A823C26-FC05-48C1-A2E1-7B2B6A2607BB@manicode.com>
References: <CAKAMr-Dws2RVRLv+xTa7j2zk+yhpCpYN-jUgxFos+j--Abv4uQ@mail.gmail.com> <CABRXCmwKDOSQQrDdCVBkDWSi85A7FL_R9d9sNzgdBTE_HyKDMw@mail.gmail.com> <14E11D6D-3CA4-4945-93B5-96F40D17463E@oracle.com> <CAOahYUwYT-mFrdN-FvZArNCmVMn8G6X8504Z9EFY_rZ7A328qA@mail.gmail.com> <7630385B-8366-4B11-A5CA-BEE18F96AB8B@ve7jtb.com> <5C40C2B2-A673-4940-8376-55D448271A4C@gmail.com> <CABRXCmwDQ_uZXDaaX6gxn_J_FnaCDucA-5uZwF6K1uHMQs6nzw@mail.gmail.com>
To: Bill Burke <bburke@redhat.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/PyxPjqnBvuqa0opuoDtMnfNBdtA>
Subject: Re: [OAUTH-WG] Recommendations for browser-based apps
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth/>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Sep 2017 01:32:02 -0000
Not always, Bill. There is a new standard called "same site cookies" or "first party cookies" that allows you to programmatically remove this risk in some modern browsers, it's worth reviewing. https://tools.ietf.org/html/draft-west-first-party-cookies-07 It's live in Chrome and Opera and will only grow in support. http://caniuse.com/#search=samesite Jim > On Sep 20, 2017, at 8:44 AM, Bill Burke <bburke@redhat.com> wrote: > > Cookies are vulnerable to CXRF. > >> On Tue, Sep 19, 2017 at 7:48 PM, nov matake <matake@gmail.com> wrote: >> Why not using http-only cookies instead of refresh tokens? >> If the app can interact with AuthZ server through a hidden iframe with >> prompt=none param, you shouldn’t need refresh tokens. >> >> If your SAP is running on a different domain with the backend server, >> Safari’s Intelligent Tracking Prevention will break the hidden iframe way >> though. >> >> On Sep 20, 2017, at 7:32, John Bradley <ve7jtb@ve7jtb.com> wrote: >> >> Right, Refresh token is bearer for native apps, that is why we came up with >> PKCE to protect code. >> >> For Angular the code flow with PKCE is probably better than the token >> response type. >> >> However with bearer tokens it is still riskier than code with a confidential >> client so the AS should take that into account and not allow refresh tokens >> to live forever. >> >> One future way to protect refresh tokens and perhaps Access tokens is to use >> token binding to bind the tokens to the user agent. You could do that now >> for refresh tokens in Edge (Chrome has TB off by default still). >> >> I think more work needs to be done to come up with a best practice for SPA. >> >> John B. >> >> On Sep 19, 2017, at 7:02 PM, Adam Lewis <adam.lewis@motorolasolutions.com> >> wrote: >> >> Only for confidential clients. No authentication is required for public >> clients. >> >> On Tue, Sep 19, 2017 at 4:47 PM, Phil Hunt (IDM) <phil.hunt@oracle.com> >> wrote: >>> >>> Except a refresh token is not purely bearer. The client is required to >>> authenticate to use it. >>> >>> Phil >>> >>>> On Sep 19, 2017, at 2:33 PM, Bill Burke <bburke@redhat.com> wrote: >>>> >>>> I'd be curious to the response to this too. >>>> >>>> Seems to me that refresh token has the same possible security risks in >>>> an Angular app as an access token, except the refresh token is valid >>>> longer....Still, if you did the implicit flow, you'd have to have >>>> longer access token timeouts as it would be really annoying for the >>>> user to have to login again and again in a long session with your >>>> Angular app. >>>> >>>> We have a javascript adapter that does Authz Code Flow with PKCE for >>>> our Angular app. It also does CORS checks on the code to token XHR >>>> request just in case on the IDP side. >>>> >>>>> On Tue, Sep 19, 2017 at 9:27 AM, Stefan Büringer <sbueringer@gmail.com> >>>>> wrote: >>>>> Hi, >>>>> >>>>> there were some discussions in January regarding recommendations for >>>>> browser-based apps >>>>> (https://www.ietf.org/mail-archive/web/oauth/current/msg16874.html) >>>>> >>>>> I'd just like to ask if the Authorization Code Flow with PKCE is a >>>>> valid >>>>> option for Single-Page-Applications (in our case Angular), because >>>>> Implicit >>>>> Flow cannot be used in our scenario. >>>>> >>>>> Authorization Code Flow with PKCE eliminates the necessity for client >>>>> secrets, but our concern is that exposing the refresh token to the SPA >>>>> might >>>>> be a security risk, compared to the Implicit Flow were no refresh token >>>>> is >>>>> exposed. >>>>> >>>>> What's your take on this? >>>>> >>>>> Kind regards, >>>>> Stefan Büringer >>>>> >>>>> P.S. I couldn't find that much on the internet regarding Authorization >>>>> Code >>>>> Flow with PKCE in SPAs, if you have some recommendations for good blog >>>>> posts >>>>> I would be grateful. >>>>> >>>>> _______________________________________________ >>>>> OAuth mailing list >>>>> OAuth@ietf.org >>>>> https://www.ietf.org/mailman/listinfo/oauth >>>>> >>>> >>>> >>>> >>>> -- >>>> Bill Burke >>>> Red Hat >>>> >>>> _______________________________________________ >>>> 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 >> > > > > -- > Bill Burke > Red Hat > > _______________________________________________ > OAuth mailing list > OAuth@ietf.org > https://www.ietf.org/mailman/listinfo/oauth
- [OAUTH-WG] Recommendations for browser-based apps Stefan Büringer
- Re: [OAUTH-WG] Recommendations for browser-based … Bill Burke
- Re: [OAUTH-WG] Recommendations for browser-based … Phil Hunt (IDM)
- Re: [OAUTH-WG] Recommendations for browser-based … Jim Manico
- Re: [OAUTH-WG] Recommendations for browser-based … Adam Lewis
- Re: [OAUTH-WG] Recommendations for browser-based … John Bradley
- Re: [OAUTH-WG] Recommendations for browser-based … nov matake
- Re: [OAUTH-WG] Recommendations for browser-based … Bill Burke
- Re: [OAUTH-WG] Recommendations for browser-based … Jim Manico
- Re: [OAUTH-WG] Recommendations for browser-based … Neil Madden
- Re: [OAUTH-WG] Recommendations for browser-based … Jim Manico
- Re: [OAUTH-WG] Recommendations for browser-based … Jim Manico
- Re: [OAUTH-WG] Recommendations for browser-based … Bill Burke
- Re: [OAUTH-WG] Recommendations for browser-based … Nov Matake
- Re: [OAUTH-WG] Recommendations for browser-based … Josh Mandel