Return-Path: <aaron@parecki.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 C0D35129631
 for <oauth@ietfa.amsl.com>; Fri, 17 Feb 2017 10:05:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.1
X-Spam-Level: 
X-Spam-Status: No, score=-0.1 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, RCVD_IN_DNSWL_LOW=-0.7,
 RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01,
 URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key)
 header.d=parecki-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 bGCHYkpK910j for <oauth@ietfa.amsl.com>;
 Fri, 17 Feb 2017 10:05:30 -0800 (PST)
Received: from mail-it0-x22a.google.com (mail-it0-x22a.google.com
 [IPv6:2607:f8b0:4001:c0b::22a])
 (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 45282129B08
 for <oauth@ietf.org>; Fri, 17 Feb 2017 10:05:30 -0800 (PST)
Received: by mail-it0-x22a.google.com with SMTP id g67so23404332itb.1
 for <oauth@ietf.org>; Fri, 17 Feb 2017 10:05:30 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=parecki-com.20150623.gappssmtp.com; s=20150623;
 h=mime-version:in-reply-to:references:from:date:message-id:subject:to
 :cc; bh=IibxqxLOjBTg6WVyU7qCfmYPT0dO9KuTtkKpaHJmZYQ=;
 b=F5czkaVoWl9BEFjS+vVPUNuGxQFecgwlLOU1g/aGnuIhI/+LFldyX2eQVgG8ITWKjc
 4NnStitZyQD+qltqCodpIGJcCQWyYJSxQTxpxNtkKZKw0l+4Dr1vvVJQANFW6XmZRvKM
 ErF92RfeZmjaMGjYZZiZrdxZBgEBx3DPUpjhlv/z1e1RCrqzbxfeT9kZSultk/P1xkH1
 eBMQsJDwrpd6xq++vtk4XhTrQMIL4+nyKQpRvkyfD6PpcMztTuogy5QY2Cee+T93SUGL
 MNniNVgYtt+yoJ52oIh6OkpJwrqQ22glfVjPbqKw3UUqiwEAPcBxPCPHzhMBCS7jVeL4
 no2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:in-reply-to:references:from:date
 :message-id:subject:to:cc;
 bh=IibxqxLOjBTg6WVyU7qCfmYPT0dO9KuTtkKpaHJmZYQ=;
 b=mMKvAoOdDiDMaDH4t8c6JYX/uxym4tZrt37bPJ9Q/EnTVAQsn5qGPXqvspRks7y9uO
 z8Sjre6094rH1eI6mqvyqr+WYRpTcdYUmX1aZ+cCoaMtSh0ChfMxS3AWWp24krHYuyFQ
 vVlDYkcFGrZtE8KS/Qa7rxTvX8/QHdztB5SZgdtgex7xAq+ccfob4kKwG1zOZMrsYz9d
 2W0Du6cebuLKezG1jTunvb1ZtPWjXutgjQ2//0OIK6TBgdJbxjswnR5OJgbGTPZQU4Hy
 irxgflbU5snl8jK1iYgwtV1E7NmQdE15cCc/PCuJocY4MgalRNo/JzhOJntdlqpVNh+p
 YINg==
X-Gm-Message-State: AMke39nenqZcpIA1ns7PrF8oX3KLh/0t9UuKzfvK+Gb6ubTD15pl/aH9016aego6Jej5rw==
X-Received: by 10.107.14.78 with SMTP id 75mr7598791ioo.76.1487354729405;
 Fri, 17 Feb 2017 10:05:29 -0800 (PST)
Received: from mail-it0-f47.google.com (mail-it0-f47.google.com.
 [209.85.214.47])
 by smtp.gmail.com with ESMTPSA id o26sm4984579ioi.4.2017.02.17.10.05.28
 for <oauth@ietf.org>
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 17 Feb 2017 10:05:28 -0800 (PST)
Received: by mail-it0-f47.google.com with SMTP id g67so23403630itb.1
 for <oauth@ietf.org>; Fri, 17 Feb 2017 10:05:28 -0800 (PST)
X-Received: by 10.107.200.70 with SMTP id y67mr7929341iof.73.1487354728394;
 Fri, 17 Feb 2017 10:05:28 -0800 (PST)
MIME-Version: 1.0
Received: by 10.107.183.81 with HTTP; Fri, 17 Feb 2017 10:05:27 -0800 (PST)
In-Reply-To: <CAO7Ng+uDJ8CoxMN3XsgFCMpwvsN+_yBZ3GkDBquH6wcmtPs5Gw@mail.gmail.com>
References: <1e63222f-1d3b-59cc-a7c3-f9f3aa14e9df@manicode.com>
 <5d69eb72-b99a-1605-b58b-b7f33bb5db60@redhat.com>
 <600a2fe3fbc147588baedb557e6e5938@HE105717.emea1.cds.t-internal.com>
 <9f795a60-5345-61b6-356a-cc871164ba8d@manicode.com>
 <CAOahYUyR3pG_Ae7OH-XVevh-STSz5Z_7EvBv+NQ58Lw5cOLvEg@mail.gmail.com>
 <CAO7Ng+uDJ8CoxMN3XsgFCMpwvsN+_yBZ3GkDBquH6wcmtPs5Gw@mail.gmail.com>
From: Aaron Parecki <aaron@parecki.com>
Date: Fri, 17 Feb 2017 10:05:27 -0800
X-Gmail-Original-Message-ID: <CAGBSGjrfehZdAzWdEVLzBr+kMv83ZtCZzGD+BEZuHPnLrt2UGQ@mail.gmail.com>
Message-ID: <CAGBSGjrfehZdAzWdEVLzBr+kMv83ZtCZzGD+BEZuHPnLrt2UGQ@mail.gmail.com>
To: Dominick Baier <dbaier@leastprivilege.com>
Content-Type: multipart/alternative; boundary=94eb2c0c0b823dd51f0548bdc256
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/O0flAkHkxX-Dn2uat5iTYFDnMWs>
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Google's use of Implicit Grant Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.17
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: Fri, 17 Feb 2017 18:05:33 -0000

--94eb2c0c0b823dd51f0548bdc256
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Can you describe the aspects that make a JS client library "solid"? This is
what I think would be useful to see written up in a document like the
Native Apps one.

It's interesting to me that so many of you have independently opted to use
the auth code flow for Javascript apps. I think that's a sign that it's a
better recommendation than the implicit flow for JS apps.

----
Aaron Parecki
aaronparecki.com
@aaronpk <http://twitter.com/aaronpk>


On Fri, Feb 17, 2017 at 10:02 AM, Dominick Baier <dbaier@leastprivilege.com=
>
wrote:

> Given a solid client library for JS, I think implicit flow is OK to use.
>
> But I agree that there are many =E2=80=9Chome grown=E2=80=9D implementati=
on out there that
> are not secure - and the necessary JS code to write a good client is not
> necessarily the =E2=80=9Cpit of success=E2=80=9D.
>
> You should give this lib a go (it=E2=80=99s also a certified RP):
>
> https://github.com/IdentityModel/oidc-client-js
>
> Many people argue that handling the protocol and crypto pieces in JS is
> problematic (and I agree if no proper lib is used for that) - but at then
> end of the day the access token will end up in the browser - and a sloppy
> developer (e.g. not using CSP) will always write bad code that might lead
> to leaking a token.
>
> -------
> Dominick Baier
>
> On 17 February 2017 at 18:43:25, Adam Lewis (adam.lewis@motorolasolutions=
.
> com) wrote:
>
> +1000
>
> We are currently going through internal turmoil over the usage of implici=
t
> grant for ua-based apps.  The webapp case is well understood and the WG h=
as
> work in progress to define best practices for native apps.  Having one fo=
r
> ua-based apps would be HUGELY beneficial
>
>
>
> On Fri, Feb 17, 2017 at 11:40 AM, Jim Manico <jim@manicode.com> wrote:
>
>> Thank you to those answering my question on implicit for JS clients.
>>
>> The responses so far seem to represent what the security world is saying
>> about the implicit grant - keep away from it other than for a few OIDC u=
se
>> cases.
>>
>> Does anyone think it would be valuable to author a brief RFC to give
>> clear OAuth 2 recommendations for JavaScript client developers?
>>
>> I mean - the OAuth 2 body of work just needs a few more RFC's, right? :)
>>
>> Aloha, Jim
>>
>>
>>
>> On 2/17/17 6:03 AM, Sebastian.Ebling@telekom.de wrote:
>>
>> Same for Deutsche Telekom. Our javascript clients also use code flow
>> with CORS processing and of course redirect_uri validation.
>>
>>
>>
>> Best regards
>>
>>
>>
>> Sebastian
>>
>>
>>
>> * Von:* OAuth [mailto:oauth-bounces@ietf.org <oauth-bounces@ietf.org>] *=
Im
>> Auftrag von* Bill Burke
>> *Gesendet:* Freitag, 17. Februar 2017 00:14
>> *An:* oauth@ietf.org
>> *Betreff:* Re: [OAUTH-WG] Google's use of Implicit Grant Flow
>>
>>
>>
>> For our IDP [1], our javascript library uses the auth code flow, but
>> requires a public client, redirect_uri validation, and also does CORS
>> checks and processing.  We did not like Implicit Flow because
>>
>> 1) access tokens would be in the browser history
>>
>> 2) short lived access tokens (seconds or minutes) would require a browse=
r
>> redirect
>>
>> I'd be really curious to hear other's thoughts though.
>>
>> [1] http://keycloak.org
>> <https://urldefense.proofpoint.com/v2/url?u=3Dhttp-3A__keycloak.org&d=3D=
DwMD-g&c=3Dq3cDpHe1hF8lXU5EFjNM_A&r=3DhS3A5qzQnW1hxYBhPrxNW10ESeDiiiRwR8H84=
JHIXTI&m=3DIfM1P0zp986kOQNk7-NwlgfRZMq5MppK0kISXhIOF_s&s=3DYExyuyZO5YNpSvS3=
mEUG5pjKAjRXXVT8Xvk8hIb-Efw&e=3D>
>>
>>
>>
>>
>>
>>
>>
>> On 2/16/17 5:44 PM, Jim Manico wrote:
>>
>> Hello Folks,
>>
>> I noticed that Google supports the OAuth 2 Implicit flow for third-party
>> JavaScript applications.
>>
>> https://developers.google.com/identity/protocols/OAuth2UserAgent
>> <https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__developers.googl=
e.com_identity_protocols_OAuth2UserAgent&d=3DDwMD-g&c=3Dq3cDpHe1hF8lXU5EFjN=
M_A&r=3DhS3A5qzQnW1hxYBhPrxNW10ESeDiiiRwR8H84JHIXTI&m=3DIfM1P0zp986kOQNk7-N=
wlgfRZMq5MppK0kISXhIOF_s&s=3D_Mig-zmCt1y9dZpCece1dqby3VmcZVOu2JPcmAwzwKU&e=
=3D>
>>
>> Isn't this generally discouraged from a security POV? *Is there a better
>> OAuth 2 flow for third party SPA applications?*
>>
>> Aloha,
>>
>> --
>>
>> Jim Manico
>>
>> Manicode Security
>>
>> https://www.manicode.com <https://urldefense.proofpoint.com/v2/url?u=3Dh=
ttps-3A__www.manicode.com&d=3DDwMD-g&c=3Dq3cDpHe1hF8lXU5EFjNM_A&r=3DhS3A5qz=
QnW1hxYBhPrxNW10ESeDiiiRwR8H84JHIXTI&m=3DIfM1P0zp986kOQNk7-NwlgfRZMq5MppK0k=
ISXhIOF_s&s=3DH8pXLA4TE27vW-gz5Sbr9VOUP-KZMmd-gQ-okH4ohMU&e=3D>
>>
>>
>>
>>
>> _______________________________________________
>>
>> OAuth mailing list
>>
>> OAuth@ietf.org
>>
>> https://www.ietf.org/mailman/listinfo/oauth <https://urldefense.proofpoi=
nt.com/v2/url?u=3Dhttps-3A__www.ietf.org_mailman_listinfo_oauth&d=3DDwMD-g&=
c=3Dq3cDpHe1hF8lXU5EFjNM_A&r=3DhS3A5qzQnW1hxYBhPrxNW10ESeDiiiRwR8H84JHIXTI&=
m=3DIfM1P0zp986kOQNk7-NwlgfRZMq5MppK0kISXhIOF_s&s=3DjAjifWdP3vqnDgWricLE62R=
9_d0BQReWRUitqM5S1JU&e=3D>
>>
>>
>>
>>
>> _______________________________________________
>> OAuth mailing listOAuth@ietf.orghttps://www.ietf.org/mailman/listinfo/oa=
uth <https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__www.ietf.org_ma=
ilman_listinfo_oauth&d=3DDwMD-g&c=3Dq3cDpHe1hF8lXU5EFjNM_A&r=3DhS3A5qzQnW1h=
xYBhPrxNW10ESeDiiiRwR8H84JHIXTI&m=3DIfM1P0zp986kOQNk7-NwlgfRZMq5MppK0kISXhI=
OF_s&s=3DjAjifWdP3vqnDgWricLE62R9_d0BQReWRUitqM5S1JU&e=3D>
>>
>>
>> --
>> Jim Manico
>> Manicode Securityhttps://www.manicode.com <https://urldefense.proofpoint=
.com/v2/url?u=3Dhttps-3A__www.manicode.com&d=3DDwMD-g&c=3Dq3cDpHe1hF8lXU5EF=
jNM_A&r=3DhS3A5qzQnW1hxYBhPrxNW10ESeDiiiRwR8H84JHIXTI&m=3DIfM1P0zp986kOQNk7=
-NwlgfRZMq5MppK0kISXhIOF_s&s=3DH8pXLA4TE27vW-gz5Sbr9VOUP-KZMmd-gQ-okH4ohMU&=
e=3D>
>>
>>
>> _______________________________________________
>> 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
>
>

--94eb2c0c0b823dd51f0548bdc256
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Can you describe the aspects that make a JS client library=
 &quot;solid&quot;? This is what I think would be useful to see written up =
in a document like the Native Apps one.<div><br></div><div>It&#39;s interes=
ting to me that so many of you have independently opted to use the auth cod=
e flow for Javascript apps. I think that&#39;s a sign that it&#39;s a bette=
r recommendation than the implicit flow for JS apps.</div></div><div class=
=3D"gmail_extra"><br clear=3D"all"><div><div class=3D"gmail_signature" data=
-smartmail=3D"gmail_signature"><div>----</div><div>Aaron Parecki</div><div>=
<a href=3D"http://aaronparecki.com" target=3D"_blank">aaronparecki.com</a><=
/div><div><a href=3D"http://twitter.com/aaronpk" target=3D"_blank">@aaronpk=
</a></div><div><br></div></div></div>
<br><div class=3D"gmail_quote">On Fri, Feb 17, 2017 at 10:02 AM, Dominick B=
aier <span dir=3D"ltr">&lt;<a href=3D"mailto:dbaier@leastprivilege.com" tar=
get=3D"_blank">dbaier@leastprivilege.com</a>&gt;</span> wrote:<br><blockquo=
te class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc so=
lid;padding-left:1ex"><div style=3D"word-wrap:break-word"><div id=3D"m_-208=
0174872448520327bloop_customfont" style=3D"font-family:Helvetica,Arial;font=
-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Given a solid=
 client library for JS, I think implicit flow is OK to use.=C2=A0</div><div=
 id=3D"m_-2080174872448520327bloop_customfont" style=3D"font-family:Helveti=
ca,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">=
<br></div><div id=3D"m_-2080174872448520327bloop_customfont" style=3D"font-=
family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line=
-height:auto">But I agree that there are many =E2=80=9Chome grown=E2=80=9D =
implementation out there that are not secure - and the necessary JS code to=
 write a good client is not necessarily the =E2=80=9Cpit of success=E2=80=
=9D.</div><div id=3D"m_-2080174872448520327bloop_customfont" style=3D"font-=
family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line=
-height:auto"><br></div><div id=3D"m_-2080174872448520327bloop_customfont" =
style=3D"font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);m=
argin:0px;line-height:auto">You should give this lib a go (it=E2=80=99s als=
o a certified RP):</div><div id=3D"m_-2080174872448520327bloop_customfont" =
style=3D"font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);m=
argin:0px;line-height:auto"><br></div><div id=3D"m_-2080174872448520327bloo=
p_customfont" style=3D"margin:0px"><a href=3D"https://github.com/IdentityMo=
del/oidc-client-js" target=3D"_blank">https://github.com/<wbr>IdentityModel=
/oidc-client-js</a></div> <div><br></div>Many people argue that handling th=
e protocol and crypto pieces in JS is problematic (and I agree if no proper=
 lib is used for that) - but at then end of the day the access token will e=
nd up in the browser - and a sloppy developer (e.g. not using CSP) will alw=
ays write bad code that might lead to leaking a token.<br> <div id=3D"m_-20=
80174872448520327bloop_sign_1487354298716978944" class=3D"m_-20801748724485=
20327bloop_sign"><div><br></div><div>-------</div><div>Dominick Baier</div>=
</div><div><div class=3D"h5"> <br><p class=3D"m_-2080174872448520327airmail=
_on">On 17 February 2017 at 18:43:25, Adam Lewis (<a href=3D"mailto:adam.le=
wis@motorolasolutions.com" target=3D"_blank">adam.lewis@motorolasolutions.<=
wbr>com</a>) wrote:</p> <blockquote type=3D"cite" class=3D"m_-2080174872448=
520327clean_bq"><span><div><div></div><div>





<div dir=3D"ltr">+1000
<div><br></div>
<div>We are currently going through internal turmoil over the usage
of implicit grant for ua-based apps.=C2=A0 The webapp case is well
understood and the WG has work in progress to define best practices
for native apps.=C2=A0 Having one for ua-based apps would be HUGELY
beneficial</div>
<div><br></div>
<div><br></div>
</div>
<div class=3D"gmail_extra"><br>
<div class=3D"gmail_quote">On Fri, Feb 17, 2017 at 11:40 AM, Jim
Manico <span dir=3D"ltr">&lt;<a href=3D"mailto:jim@manicode.com" target=3D"=
_blank">jim@manicode.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
<div bgcolor=3D"#FFFFFF" text=3D"#000000">
<p>Thank you to those answering my question on implicit for JS
clients.<br></p>
<p>The responses so far seem to represent what the security world
is saying=C2=A0 about the implicit grant - keep away from it other
than for a few OIDC use cases.<br></p>
<p>Does anyone think it would be valuable to author a brief RFC to
give clear OAuth 2 recommendations for JavaScript client
developers?</p>
<p>I mean - the OAuth 2 body of work just needs a few more RFC&#39;s,
right? :)</p>
<p>Aloha, Jim<br></p>
<div>
<div class=3D"m_-2080174872448520327h5">
<p><br></p>
<br>
<div class=3D"m_-2080174872448520327m_6942632839141482409moz-cite-prefix">O=
n 2/17/17 6:03
AM, <a class=3D"m_-2080174872448520327m_6942632839141482409moz-txt-link-abb=
reviated" href=3D"mailto:Sebastian.Ebling@telekom.de" target=3D"_blank">Seb=
astian.Ebling@telekom.de</a> wrote:<br></div>
<blockquote type=3D"cite">
<div class=3D"m_-2080174872448520327m_6942632839141482409WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d">
Same for Deutsche Telekom.</span> <span style=3D"font-size:11.0pt;font-fami=
ly:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d" lang=3D"EN-US"=
>Our javascript clients also use code
flow with CORS processing and of course redirect_uri
validation.</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d" lang=3D"EN-US">=C2=A0</sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d" lang=3D"EN-US">Best regar=
ds</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d" lang=3D"EN-US">=C2=A0</sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d" lang=3D"EN-US">Sebastian<=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d" lang=3D"EN-US">=C2=A0</sp=
an></p>
<div>
<div style=3D"border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext">
Von:</span></b> <span style=3D"font-size:10.0pt;font-family:&quot;Tahoma&qu=
ot;,&quot;sans-serif&quot;;color:windowtext">
OAuth [<a class=3D"m_-2080174872448520327m_6942632839141482409moz-txt-link-=
freetext" href=3D"mailto:oauth-bounces@ietf.org" target=3D"_blank">mailto:o=
auth-bounces@ietf.org</a><wbr>] <b>Im Auftrag
von</b> Bill Burke<br>
<b>Gesendet:</b> Freitag, 17. Februar 2017 00:14<br>
<b>An:</b> <a class=3D"m_-2080174872448520327m_6942632839141482409moz-txt-l=
ink-abbreviated" href=3D"mailto:oauth@ietf.org" target=3D"_blank">oauth@iet=
f.org</a><br>
<b>Betreff:</b> Re: [OAUTH-WG] Google&#39;s use of Implicit Grant
Flow</span></p>
</div>
</div>
<p class=3D"MsoNormal">=C2=A0</p>
<p>For our IDP [1], our javascript library uses the auth code flow,
but requires a public client, redirect_uri validation, and also
does CORS checks and processing.=C2=A0 We did not like Implicit
Flow because</p>
<p>1) access tokens would be in the browser history</p>
<p>2) short lived access tokens (seconds or minutes) would require
a browser redirect</p>
<p>I&#39;d be really curious to hear other&#39;s thoughts though.</p>
<p>[1] <a href=3D"https://urldefense.proofpoint.com/v2/url?u=3Dhttp-3A__key=
cloak.org&amp;d=3DDwMD-g&amp;c=3Dq3cDpHe1hF8lXU5EFjNM_A&amp;r=3DhS3A5qzQnW1=
hxYBhPrxNW10ESeDiiiRwR8H84JHIXTI&amp;m=3DIfM1P0zp986kOQNk7-NwlgfRZMq5MppK0k=
ISXhIOF_s&amp;s=3DYExyuyZO5YNpSvS3mEUG5pjKAjRXXVT8Xvk8hIb-Efw&amp;e=3D" tar=
get=3D"_blank">http://keycloak.org</a></p>
<p>=C2=A0</p>
<p>=C2=A0</p>
<p class=3D"MsoNormal">=C2=A0</p>
<div>
<p class=3D"MsoNormal">On 2/16/17 5:44 PM, Jim Manico wrote:</p>
</div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<p>Hello Folks,</p>
<p>I noticed that Google supports the OAuth 2 Implicit flow for
third-party JavaScript applications.</p>
<p><a href=3D"https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__develo=
pers.google.com_identity_protocols_OAuth2UserAgent&amp;d=3DDwMD-g&amp;c=3Dq=
3cDpHe1hF8lXU5EFjNM_A&amp;r=3DhS3A5qzQnW1hxYBhPrxNW10ESeDiiiRwR8H84JHIXTI&a=
mp;m=3DIfM1P0zp986kOQNk7-NwlgfRZMq5MppK0kISXhIOF_s&amp;s=3D_Mig-zmCt1y9dZpC=
ece1dqby3VmcZVOu2JPcmAwzwKU&amp;e=3D" target=3D"_blank">https://developers.=
google.com/<wbr>identity/protocols/OAuth2UserA<wbr>gent</a></p>
<p>Isn&#39;t this generally discouraged from a security POV? <b>Is
there a better OAuth 2 flow for third party SPA
applications?</b></p>
<p class=3D"MsoNormal">Aloha,<br>
<br></p>
<pre>-- </pre>
<pre>Jim Manico</pre>
<pre>Manicode Security</pre>
<pre><a href=3D"https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__www.=
manicode.com&amp;d=3DDwMD-g&amp;c=3Dq3cDpHe1hF8lXU5EFjNM_A&amp;r=3DhS3A5qzQ=
nW1hxYBhPrxNW10ESeDiiiRwR8H84JHIXTI&amp;m=3DIfM1P0zp986kOQNk7-NwlgfRZMq5Mpp=
K0kISXhIOF_s&amp;s=3DH8pXLA4TE27vW-gz5Sbr9VOUP-KZMmd-gQ-okH4ohMU&amp;e=3D" =
target=3D"_blank">https://www.manicode.com</a></pre>
<p class=3D"MsoNormal"><br>
<br>
<br></p>
<pre>______________________________<wbr>_________________</pre>
<pre>OAuth mailing list</pre>
<pre><a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
</pre>
<pre><a href=3D"https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__www.=
ietf.org_mailman_listinfo_oauth&amp;d=3DDwMD-g&amp;c=3Dq3cDpHe1hF8lXU5EFjNM=
_A&amp;r=3DhS3A5qzQnW1hxYBhPrxNW10ESeDiiiRwR8H84JHIXTI&amp;m=3DIfM1P0zp986k=
OQNk7-NwlgfRZMq5MppK0kISXhIOF_s&amp;s=3DjAjifWdP3vqnDgWricLE62R9_d0BQReWRUi=
tqM5S1JU&amp;e=3D" target=3D"_blank">https://www.ietf.org/mailman/l<wbr>ist=
info/oauth</a></pre></blockquote>
<p class=3D"MsoNormal">=C2=A0</p>
</div>
<br>
<fieldset class=3D"m_-2080174872448520327m_6942632839141482409mimeAttachmen=
tHeader">
</fieldset>
<br>
<pre>______________________________<wbr>_________________
OAuth mailing list
<a class=3D"m_-2080174872448520327m_6942632839141482409moz-txt-link-abbrevi=
ated" href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>
<a class=3D"m_-2080174872448520327m_6942632839141482409moz-txt-link-freetex=
t" href=3D"https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__www.ietf.=
org_mailman_listinfo_oauth&amp;d=3DDwMD-g&amp;c=3Dq3cDpHe1hF8lXU5EFjNM_A&am=
p;r=3DhS3A5qzQnW1hxYBhPrxNW10ESeDiiiRwR8H84JHIXTI&amp;m=3DIfM1P0zp986kOQNk7=
-NwlgfRZMq5MppK0kISXhIOF_s&amp;s=3DjAjifWdP3vqnDgWricLE62R9_d0BQReWRUitqM5S=
1JU&amp;e=3D" target=3D"_blank">https://www.ietf.org/mailman/l<wbr>istinfo/=
oauth</a>
</pre></blockquote>
<br>
<pre class=3D"m_-2080174872448520327m_6942632839141482409moz-signature" col=
s=3D"72">-- =20
Jim Manico
Manicode Security
<a class=3D"m_-2080174872448520327m_6942632839141482409moz-txt-link-freetex=
t" href=3D"https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__www.manic=
ode.com&amp;d=3DDwMD-g&amp;c=3Dq3cDpHe1hF8lXU5EFjNM_A&amp;r=3DhS3A5qzQnW1hx=
YBhPrxNW10ESeDiiiRwR8H84JHIXTI&amp;m=3DIfM1P0zp986kOQNk7-NwlgfRZMq5MppK0kIS=
XhIOF_s&amp;s=3DH8pXLA4TE27vW-gz5Sbr9VOUP-KZMmd-gQ-okH4ohMU&amp;e=3D" targe=
t=3D"_blank">https://www.manicode.com</a></pre></div>
</div>
</div>
<br>
______________________________<wbr>_________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" rel=3D"noreferrer" =
target=3D"_blank">https://www.ietf.org/mailman/l<wbr>istinfo/oauth</a><br>

<br></blockquote>
</div>
<br></div>


______________________________<wbr>_________________
<br>OAuth mailing list
<br><a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>
<br><a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blan=
k">https://www.ietf.org/mailman/<wbr>listinfo/oauth</a>
<br></div></div></span></blockquote></div></div></div>
<br>______________________________<wbr>_________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" rel=3D"noreferrer" =
target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/oauth</a><br>
<br></blockquote></div><br></div>

--94eb2c0c0b823dd51f0548bdc256--

