>* Authenticator

>- Why Authenticator is an interface? We need this?
It makes mocking for testing much easier for starters.  Also if we decide to make DefaultAuthenticator final it doesn't break developers who may want to create their own implementations.  Also it makes it work better with DI frameworks, proxying etc.    

>- add receive Builder? makes more sense receive AuthenticationModule
It does and it doesn't.  I based DefaultAuthenticator in part on the goals of Pipeline which include being a factory.  Since I didn't want tons of overloaded .add methods, passing in the Builder makes the most sense.
I feel like I had a much better reason for it on Friday, but if I can't remember I'll probably change it.

>* RestAuthenticationModule

>- Avoid calling the callback in doInBackground if it change something in the UI that will cause an exception. 
Great catch, can't belive I missed that. Fixed

>- How about just letting the baseURL as mandatory?
I like that. Fixed.

>* Javadoc 
>- @link, @inheritDoc, ... don't need %
Fixed


From: "Daniel Passos" <daniel@passos.me>
To: "AeroGear Developer Mailing List" <aerogear-dev@lists.jboss.org>
Sent: Monday, October 29, 2012 6:04:15 AM
Subject: Re: [aerogear-dev] Android Auth branch and API

Hey Summers,

Awesome Job!!!

My 2 cents:

* HttpProvider

- Awesome idea change methods to return new HeaderAndBodyMap

* Authenticator

- Why Authenticator is an interface? We need this?
- add receive Builder? makes more sense receive AuthenticationModule

* RestAuthenticationModule

- Avoid calling the callback in doInBackground if it change something in the UI that will cause an exception. 
- How about just letting the baseURL as mandatory?

* Javadoc 

- @link, @inheritDoc, ... don't need %

-- 
Daniel Passos

On Friday, October 26, 2012 at 2:12 PM, Summers Pittman wrote:

My initial work is here:https://github.com/aerogear/aerogear-android/tree/auth

Changes to existing classes/API:

HttpProvider now returns a class called HeaderAndBodyMap.  This is a Map of the headers along with a byte array which was the body of the response.

HttpProvider
will throw a HttpException if it does not receive a 200 status

HttpException
wraps some information about the HTTP result.

Description of current Auth Classes and Methods:

Interfaces:
Authenticator is a factory/lookup class a la Pipeline.

AuthenticationModule is a module that manages a authenticated users credentials.  Provides enroll, login, logout, authToken, and isAuthenticated.

Builder is an interface that can instantiate an instance of AuthenticationModule.

Classes:

DefaultAuthenticator implements Authenticator 

RestAuthenticationModule implements AuthenticationModule  only login is implemented.


Todo:

Implement the rest of the methods in RestAuthenticationModule

Update Pipe implementations to use the AuthenticationModules


_______________________________________________
aerogear-dev mailing list


_______________________________________________
aerogear-dev mailing list
aerogear-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev