If you don't have a client secret, or are storing the the client secret in the 
Javascrypt, then you are probably more at risk using code than implicit.

Implicit is risky because running a OAuth client in the browser is risky.  
Using code in that case makes it no better, and arguably worse.

Perhaps I don't understand the environment.

John B.

> On Feb 9, 2015, at 5:05 PM, Bill Burke <bbu...@redhat.com> wrote:
> 
> Due to the security risks of implicit Grant flow, our Javascript adapter only 
> supports  Auth Code Grant flow.  Our IDP has an extra step of allowing you to 
> specify a valid CORS origin for an application.  Anybody see any problems 
> with this kind of approach?  Implicit Grant Flow just seemed really risky to 
> even support as a protocol.
> 
> 
> On 2/6/2015 4:40 PM, Josh Mandel wrote:
>> Hi Adam,
>> 
>> I'm not 100% sure what you're envisioning as an alternative to the
>> implicit flow, but if I'm reading between the lines of your question
>> correctly, there are two key parts to the answer, because the implicit
>> flow is designed to accomplish two key goals (vs. the authorization code
>> grant):
>> 
>> 1. Shave off one round-trip HTTP request (the step of exchanging a code
>> for a token)
>> 2. Avoid unnecessarily leading the token to the client's back-end web server
>> 
>> Goal 1 is straightforward. For goal 2: OAuth2's implicit flow takes
>> advantage of the fact that a URL's "#hash" is not sent to the server
>> with an HTTP request. By embedding the token in a "#hash", it won't
>> inadvertently appear in server logs, for example. So with the implicit
>> flow, I can (for example) statically host a browser-based app at Amazon
>> S3 without having access tokens leak to Amazon. (Of course, if your
>> threat model includes a compromised server, then bets are off on this
>> point.)
>> 
>> Hope this helps,
>> 
>>   -Josh
>> 
>> 
>> 
>> On Fri, Feb 6, 2015 at 1:27 PM, Adam Lewis
>> <adam.le...@motorolasolutions.com
>> <mailto:adam.le...@motorolasolutions.com>> wrote:
>> 
>>    Hi,____
>> 
>>    __ __
>> 
>>    Having spent most of my time with native apps and web apps, I now am
>>    looking at use cases where I need to implement a user-agent-based
>>    app.  The Implicit flow seems to be optimized for this.____
>> 
>>    __ __
>> 
>>    To test my understanding, this flow is for a JavaScript client (or
>>    similar) executing within a web browser.____
>> 
>>    __ __
>> 
>>    At step (a) the client directs the UA to the authorization server,
>>    but the authorization server redirects the UA to a web-hosted client
>>    resource.  Why?  It says so that the web-hosted client resources can
>>    push javascript (or other) back into the UA so it can extract the
>>    access token in the fragment; but some sort of javascript is already
>>    running in the browser, since it initiated the authorization request
>>    in the first place.  So why this extra step?  Why not treat the
>>    javascript client running in the UA like a native app and handle the
>>    redirect uri?____
>> 
>>    __ __
>> 
>>    I know this was well thought out when the spec was written, so
>>    trying to figure out what I’m missing?____
>> 
>>    __ __
>> 
>>    __ __
>> 
>>    __ __
>> 
>>    Tx!
>>    adam____
>> 
>> 
>>    _______________________________________________
>>    OAuth mailing list
>>    OAuth@ietf.org <mailto: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
> JBoss, a division of Red Hat
> http://bill.burkecentral.com
> 
> _______________________________________________
> 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