[aerogear-dev] Question on our AuthenticationModule
Kris Borchers
kris at redhat.com
Fri Jun 7 08:19:42 EDT 2013
On Jun 7, 2013, at 2:09 AM, Matthias Wessendorf <matzew at apache.org> wrote:
>
>
>
> On Tue, Jun 4, 2013 at 2:34 PM, Kris Borchers <kris at redhat.com> wrote:
> This is why I have written the JS stuff with the idea of "adapters". That way, any authentication type/system can be used. The APIs can be totally different because there are no auth methods implemented in the base Authentication plugin. I only share very generic utility methods across adapters. Doing it this way allows me to be able to have login/logout/enroll in the rest adapter and something completely different in the Basic/Digest adapters.
>
> btw. can you share a bit of the code? (e.g. how it is used, and how the Basic/Digest adapters look)
> IMO it would be nice if that "API" would be somewhat unified, so that iOS/Android can follow (or discuss) the concept/idea behind the route you have chosen.
I will gladly share when it is tested but not sure when that will happen as I am blocked by PL. I don't want to throw code out there and say, "This is my method" when I have no idea if it even works yet. ;)
>
> -Matthias
>
>
>
>
> On Jun 4, 2013, at 3:18 AM, Corinne Krych <corinnekrych at gmail.com> wrote:
>
>> Hi
>>
>> Indeed the login/logout not doing a actual login/logout feel weird.
>> Even worse on enroll which Basic/Digest implementation is throwing a exception. Options could be:
>> - narrow common API - no enroll - rename more generic login/logout
>> - dont share a common API
>>
>> Corinne
>>
>>
>> On 4 June 2013 09:48, Matthias Wessendorf <matzew at apache.org> wrote:
>> Hi,
>>
>> perhaps this is more "AeroGear-Security VS HTTP Basic/Digest", but first some background informations:
>>
>> our different "AuthenticationModule" implementations, for Android, iOS and JavaScript, were created for the AeroGear-Security REST-APIs, which are described here:
>> http://aerogear.org/docs/specs/aerogear-rest-api/
>>
>> Here are the three different client platform implementations:
>>
>> * Android:
>> https://github.com/aerogear/aerogear-android/blob/master/src/org/jboss/aerogear/android/authentication/AuthenticationModule.java#L50-L74
>>
>> * iOS:
>> https://github.com/aerogear/aerogear-ios/blob/master/AeroGear-iOS/AeroGear-iOS/security/AGAuthenticationModule.h#L143-L179
>>
>> * JavaScript:
>> https://github.com/aerogear/aerogear-js/blob/master/src/authentication/adapters/rest.js#L224-L436
>>
>> So, basically the interface(or the different implementations) covers the following functionality, described in the above spec:
>> * enroll
>> * login
>> * logout
>>
>> So far so good.
>>
>>
>> However, looking at the recent work for BASIC/DIGEST (e.g. http://aerogear-dev.1069024.n5.nabble.com/aerogear-dev-iOS-Basic-Digest-Thoughts-td2847.html), I think it might be confusing that there is no real login call against the server, like in the above codee, for AG-Security
>>
>> Instead, the "login", is _only_ applying the credentials to that subsequent requests can read (a) protected URL(s). Similar to "logout": Only a _reset_ of the credentials is happening. No server endpoint is invoked.
>> See also http://lists.jboss.org/pipermail/aerogear-dev/2013-May/002810.html
>>
>>
>> Similar to the "enroll"; The iOS proposal throws an exception, similar to the Android version:
>>
>> https://github.com/aerogear/aerogear-android/blob/master/src/org/jboss/aerogear/android/authentication/impl/HttpBasicAuthenticationModule.java#L164
>>
>> https://github.com/cvasilak/aerogear-ios/blob/basic.digest.auth/AeroGear-iOS/AeroGear-iOS/security/AGHttpBasicDigestAuthentication.m#L93-L95
>>
>> To me, looks like none of the methods of the "AuthenticationModule interface" are properly used, or am I wrong?
>>
>>
>> I think my question is: Does it really make sense to kinda try to add the BASIC/DIGEST support into the "AuthenticationModule interface"?? or, could there be something else ?
>>
>> Not sure, I guess since I am not sure, I am asking here :)
>>
>> Any feedback is appreciated!
>>
>> Thanks!
>> Matthias
>>
>> --
>> Matthias Wessendorf
>>
>> blog: http://matthiaswessendorf.wordpress.com/
>> sessions: http://www.slideshare.net/mwessendorf
>> twitter: http://twitter.com/mwessendorf
>>
>> _______________________________________________
>> 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
>
>
>
> --
> Matthias Wessendorf
>
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> twitter: http://twitter.com/mwessendorf
> _______________________________________________
> 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/20130607/8cd5a3fe/attachment.html
More information about the aerogear-dev
mailing list