[aerogear-dev] Basic/Digest Auth and JS

Kris Borchers kris at redhat.com
Wed May 22 11:52:05 EDT 2013


On May 22, 2013, at 10:39 AM, Christos Vasilakis <cvasilak at gmail.com> wrote:

> 
> On May 22, 2013, at 5:43 PM, Summers Pittman <supittma at redhat.com> wrote:
> 
>> On 05/22/2013 10:12 AM, Kris Borchers wrote:
>>> OK, so I am going to try to spell out the workflow as I see it working in JS. I would appreciate any feedback on whether or not this is crazy/wrong.
>>> 
>>> Create Basic or Digest authenticator
>>> Must include a callback to be fired when a request to auth is received from server
>>> Create pipe which uses this authenticator
>>> Attempt read, save or remove on this pipe
>>> Endpoint returns 401 with header indicating type of auth required
>>> Need to research that this won't trigger the browser's native Basic/Digest auth handling
>>> Fire user supplied auth callback passing it a reference to a "login" method that the user will pass the credentials collected in the auth callback
>>> Use "login" method to construct appropriate response to server's 401
>>> This is the fun part :-P
>> In the Android version, login is called by the developer, not by the framework.  This "primes" the authenticator which then provides whatever tokens/headers/parameters/etc that the pipe will need to authenticate the request.
>> 
> 
> same with iOS with an HttpBasic/Digest authentication module. Upon 'login', credentials are 'cached' using a build-in system provided object (no http request). When a request is made which requires authentication, the system checks first to see if credentials exists in its store(which we cached earlier with 'login') and if found it authenticates the session. Similar, when 'logout' is called, we remove the cached credentials from the system.

This brings up a good point. If the browser doesn't do the caching for us in JS then I am not sure we can pursue this. I do not feel comfortable doing any sort of credential caching in JS as that is just asking for trouble.
> 
> for this particular context,  the authentication module mechanism we have, fitted nicely in filling the credential information to the system store, which uses them for authentication (and hopefully enough 
> 
> 
> Thanks
> Christos
> 
> 
> 
>> This may have to be changed in the future to support multiple login flows.
>>> Server responds to auth attempt
>>> Success - continue to process original read, write or remove
>>> Error - trigger a user supplied auth failure callback
>>> 
>>> Thanks!
>>> 
>>> On May 22, 2013, at 8:44 AM, Summers Pittman <supittma at redhat.com> wrote:
>>> 
>>>> On 05/21/2013 08:22 AM, Kris Borchers wrote:
>>>>> So, having seem the plans around Basic and Digest auth for Android and iOS, I am wondering if there is any need for that on JS. Typically that is handled by the browser and them the server maintains the session so I would lean toward not needing anything specific in JS for these types of auth. Input welcome.
>>>> It may be useful is someone tries to embed it in a Node container or 
>>>> write a Windows 8 app, Gnome 3 extension, etc.
>>>>> 
>>>>> Kris
>>>>> _______________________________________________
>>>>> aerogear-dev mailing list
>>>>> aerogear-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>> 
>>>> _______________________________________________
>>>> aerogear-dev mailing list
>>>> aerogear-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>> 
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
> 
> 
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20130522/803cdb87/attachment.html 


More information about the aerogear-dev mailing list