<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000'><font face="times new roman, new york, times, serif" size="3">My initial work is here:https://github.com/aerogear/aerogear-android/tree/auth</font><br><br><b style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">Changes to existing classes/API:<br></b><br><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><i style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">HttpProvider</i><font face="times new roman, new york, times, serif" size="3"> now returns a class called </font><i style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">HeaderAndBodyMap</i><font face="times new roman, new york, times, serif" size="3">. &nbsp;This is a Map of the headers along with a byte array which was the body of the response.</font><br><i style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " id="DWT212"><br>HttpProvider</i><font face="times new roman, new york, times, serif" size="3"> will throw a </font><i style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">HttpException</i><font face="times new roman, new york, times, serif" size="3"> if it does not receive a 200 status</font><br><i style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " id="DWT211"><br>HttpException</i><font face="times new roman, new york, times, serif" size="3"> wraps some information about the HTTP result.</font></blockquote><br><b style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">Description of current Auth Classes and Methods:<br></b><br><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><b><i>Interfaces</i></b>:<br><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><i style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">Authenticator </i><font face="times new roman, new york, times, serif" size="3">is a factory/lookup class a la </font><i style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">Pipeline.</i></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><br></div></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><i>AuthenticationModule </i>is a module that manages a authenticated users credentials. &nbsp;Provides <u>enroll</u>, <u>login</u>, <u>logout</u>, <u>authToken</u>, and <u>isAuthenticated</u>.</div></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><br></div></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><i style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">Builder</i><font face="times new roman, new york, times, serif" size="3">&nbsp;is an interface that can&nbsp;</font><font face="times new roman, new york, times, serif">instantiate</font><font face="times new roman, new york, times, serif" size="3">&nbsp;an instance of </font><i style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">AuthenticationModule</i><font face="times new roman, new york, times, serif" size="3" id="DWT213">.</font></div></blockquote><div><br></div><div><b><i>Classes:</i></b></div><div><b><i><br></i></b></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div id="DWT214"><i>DefaultAuthenticator </i>implements<i> Authenticator</i>&nbsp;</div></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><span style="font-family: 'times new roman', 'new york', times, serif; "><br></span></div></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><span style="font-family: 'times new roman', 'new york', times, serif; "><i>RestAuthenticationModule</i> implements <i id="DWT218">AuthenticationModule &nbsp;</i>only <u>login</u>&nbsp;is implemented.</span></div></blockquote></blockquote><div><b style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><br></b></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><br></blockquote><div><b style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">Todo:</b></div><div><b style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><br></b></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><font face="times new roman, new york, times, serif" id="DWT221">Implement the rest of the methods in RestAuthenticationModule</font></blockquote><div><b style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><br></b></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><span style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " id="DWT222">Update Pipe implementations to use the AuthenticationModules</span></div><div><span style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " id="DWT223"><br></span></div><div><br></div></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><span style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "></span></div></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><span style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "></span></div></blockquote></div></body></html>