<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 25, 2014 at 12:04 PM, Bruno Oliveira <span dir="ltr">&lt;<a href="mailto:bruno@abstractj.org" target="_blank">bruno@abstractj.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Ahoy, answers inline<br>
<br>
--<br>
abstractj<br>
<div class=""><br>
On March 25, 2014 at 5:51:46 AM, Matthias Wessendorf (<a href="mailto:matzew@apache.org">matzew@apache.org</a>) wrote:<br>
&gt; &gt; Hello again!<br>
&gt;<br>
&gt; One thing that just came to mind is the implications for the clients.&nbsp;<br>
<br>
</div>It shouldn&rsquo;t exist once we are server agnostic<br></blockquote><div><br></div><div><br></div><div><span style="font-family:arial,sans-serif;font-size:13px">you mean no implications on the client, right ?&nbsp;</span></div>
<div><br></div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><br>
&gt;<br>
&gt; Today the client libs are supporting &quot;AeroGear Security&quot;, for<br>
&gt; cases like the RESTful login.<br>
<br>
</div>I would say that&rsquo;s a wrong assumption. Our client libraries rely on RESTful endpoints, not AG Security. For example, I could run AG Android against <a href="https://github.com/abstractj/example-jaxrs-shiro" target="_blank">https://github.com/abstractj/example-jaxrs-shiro</a> (Plain Shiro with RESTful endpoints)&nbsp;<br>

<div class=""><br>
&gt;<br>
&gt; For example, taking the iOS library:<br>
&gt; <a href="https://github.com/aerogear/aerogear-ios/blob/master/AeroGear-iOS/security/AGRestAuthentication.m" target="_blank">https://github.com/aerogear/aerogear-ios/blob/master/AeroGear-iOS/security/AGRestAuthentication.m</a><br>

&gt;<br>
&gt; This class somewhat expects an endpoint, that under the covers<br>
&gt; uses AeroGear Security-PicketLink JAR. The AGIOS-35 ticket<br>
&gt; is a good example of how client had to be changed due to updates<br>
&gt; on the used version of PicketLink.<br>
<br>
</div>If we&rsquo;ve been doing it, that&rsquo;s wrong. Because you tie the client with the server. I think the correct would be the opposite or some balance.<br>
<br>
For plain database authentication, the server could adapt its endpoints for what AeroGear expects. Or, the client should allow our dev to configure parameters.&nbsp;AGIOS-35 seems to be hard-coded parameters, which ties the client with the server.<br>
</blockquote><div><br></div><div><br></div><div><div style="font-family:arial,sans-serif;font-size:13px">yep, it&#39;s pretty much aligned to that. I think same is true for other client offerings as well (not really sure)</div>
<div class="im" style="font-family:arial,sans-serif;font-size:13px"></div></div><div><br></div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>
For basic and digest authentication, both must follow the protocol specification.<br></blockquote><div><br></div><div><br></div><div><div style="font-family:arial,sans-serif;font-size:13px">right - that&#39;s way simpler, as we have an actual protocol there (similar to OAuth2)</div>
<div class="im" style="font-family:arial,sans-serif;font-size:13px"></div></div><div><br></div><div><br></div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div class=""><br>
&gt;<br>
&gt; Now, I am wondering, what does the deprecation of the java libraries<br>
&gt; mean for the client offerings? For instance, once we did port&nbsp;<br>
<br>
</div>I can be dead wrong, but this deprecation doesn&rsquo;t mean to much to me. Why? AG Security is just few classes to fill in the gaps from PicketLink in the past.<br>
<br>
Our offerings should not be tied to the server side, at least for authentication. </blockquote><div><br></div><div><br></div><div>yeah - I am not sure that is really the case - I can be wrong; But I think that the &quot;AGRestAuthentication.m&quot; is a bit tied to AG Security&#39;s PicketLink Module<br>
</div><div><br></div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">How could I authenticate with AeroGear and Node.js?<br>
</blockquote><div><br></div><div><div><br></div><div class="im"><div style="font-family:arial,sans-serif;font-size:13px"><div style="color:rgb(34,34,34)">I don&#39;t know. I *think* IF the endpoints would actually follow this spec, it would work:</div>
<div style="color:rgb(34,34,34)"><a href="http://aerogear.org/docs/specs/aerogear-rest-api/#aerogear-security" target="_blank">http://aerogear.org/docs/specs/aerogear-rest-api/#aerogear-security</a></div><div style="color:rgb(34,34,34)">
<br></div><div style="color:rgb(34,34,34)"><br></div><div style="color:rgb(34,34,34)">But my hope is that, in the future, we only have OAuth2 and the &#39;legacy&#39; bits like BASIC/DIGEST. Great thing here: they are actually (well) defined protocols.<br>
</div><div class="im">&nbsp;</div><div class="im"><br></div></div></div></div><div><br></div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>
In the worst case scenario, AG Security still exists. But we will no longer support it, so people can fork, copy and whatever they want.&nbsp;<br>
<div class=""><br>
<br>
<br>
&gt; the endpoints (for instance on AeroDoc) to vanilla PicketLink,<br>
&gt; should this iOS class/module just function like before? Or does&nbsp;<br>
<br>
</div>Yes, they just need to be adapted and have AG Security removed. Today, we don&rsquo;t need anymore 2 jars only for login/logout. Just stick with Apache Shiro, PicketLink</blockquote><div><br></div><div><div><br></div><div>
<br></div><div>So, yeah if the endpoints ported to plain PL/Shiro/etc they would have to follow this spec, right ?&nbsp;</div><div><a href="http://aerogear.org/docs/specs/aerogear-rest-api/#aerogear-security" target="_blank">http://aerogear.org/docs/specs/aerogear-rest-api/#aerogear-security</a><br>
</div><div class="im"><div style="font-family:arial,sans-serif;font-size:13px"><br></div></div></div><div><br></div><div><br></div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
 or Keycloak and that&rsquo;s all.<br>
<div class=""><br>
&gt; it even make sense to keep that functionality? Or, instead of<br>
&gt; on the &quot;core&quot; module (speaking iOS), would it make sense to move<br>
&gt; it into a different/separate project ?<br>
<br>
</div>I don&rsquo;t think so, our focus relies on the client side and offerings for mobile on the server side. Security on the server is Keycloak and Picketlink responsibility, and yes, we will help on it.<br>
<br>
It doesn&rsquo;t matter if is iOS, Android or JS, every project was supposed to be server agnostic. (Is just my opinion)<br></blockquote><div><br></div><div><br></div><div><span style="font-family:arial,sans-serif;font-size:13px">yeah - I picked iOS only because I know that code a bit better than Android or JS ;-)</span><br>
</div><div><br></div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><div class="h5"><br>
&gt;<br>
&gt; Greetings,<br>
&gt; Matthias<br>
<br>
&gt;<br>
&gt; [AGIOS-35] <a href="https://issues.jboss.org/browse/AGIOS-35" target="_blank">https://issues.jboss.org/browse/AGIOS-35</a><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Matthias Wessendorf <br><br>blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
</div></div>