<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Oct 30, 2014, at 9:41 AM, Matthias Wessendorf &lt;<a href="mailto:matzew@apache.org" class="">matzew@apache.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hello team!<br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Oct 9, 2014 at 4:49 AM, Bruno Oliveira <span dir="ltr" class="">&lt;<a href="mailto:bruno@abstractj.org" target="_blank" class="">bruno@abstractj.org</a>&gt;</span> wrote:<br class=""><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">Note: Not only for Keycloak, but also compatible with other technologies<br class="">
like passport on Node.js. </blockquote><div class=""><br class=""></div><div class="">Great point on being compatible with passport.js! To ensure our OAuth2 client SDKs do work against node.js (w/ passport.js), how about we build a Node.js based version of our "Shoot-n-Share backend" ([1]), that is protected by Passport.js?</div></div></div></div></div></blockquote><div><br class=""></div><div>So to clear up some confusion that might be happening with what passport is, it is not an OAuth2 server thing.</div><div><br class=""></div><div>it’s really just middleware(think of it as a servlet filter for you java weenies) for express.js, &nbsp;and by using adapters(like a FB or google), it can secure RESTful endpoints in that express.js app.</div><div><br class=""></div><div>I think the thing that we can do here is make a keycloack adapter for passport, using the OAuth2 protocol( similar to passports FB and google adapters );</div><div><br class=""></div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""><br class=""></div><div class="">It could be a (simple) a 'clone' of our java version. I think for Luke, our Node.js pro, it would be a fairly simple task :)</div><div class=""><br class=""></div><div class="">On the client side, the Android/iOS versions of Shoot-n-Share would simply offer a new upload target for Passport.js, instead of 'just' FB, Google-Drive and Keycloak.</div><div class=""><br class=""></div><div class="">That way we will also learn how much Passport.js is actually different, similar to what we learned on how Google/FB are different ;-)<br class=""></div><div class=""><br class=""></div><div class="">Another interesting aspect of this is that, once we are ready to release our OAuth2 SDKs, it would be awesome to actually ship a node.js based demo as well, instead of just a Java-based backend demo. That would clearly show, our client libs are working across different backend technologies.</div><div class=""><br class=""></div><div class="">Any thoughts?</div><div class=""><br class=""></div><div class="">-Matthias</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">[1]&nbsp;<a href="https://github.com/aerogear/aerogear-backend-cookbook/tree/master/Shoot" class="">https://github.com/aerogear/aerogear-backend-cookbook/tree/master/Shoot</a></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">&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">In the end, OAuth2 is just a protocol and<br class="">
should support other servers.<br class="">
<br class="">
- Should we provide examples for OpenID connect? Or abstractions?<br class="">
<br class="">
To track this issue, we have the following Jira[3] and another for<br class="">
OpenID connect[4]. Fell free to link to your respective project.<br class="">
<br class="">
<br class="">
[1] -<br class="">
<a href="http://transcripts.jboss.org/meeting/irc.freenode.org/aerogear/2014/aerogear.2014-10-08-14.00.html" target="_blank" class="">http://transcripts.jboss.org/meeting/irc.freenode.org/aerogear/2014/aerogear.2014-10-08-14.00.html</a><br class="">
<br class="">
[2] - <a href="https://gist.github.com/abstractj/04136c6df85cea5f35d1" target="_blank" class="">https://gist.github.com/abstractj/04136c6df85cea5f35d1</a><br class="">
<br class="">
[3] - <a href="https://issues.jboss.org/browse/AGSEC-180" target="_blank" class="">https://issues.jboss.org/browse/AGSEC-180</a><br class="">
<br class="">
[4] - <a href="https://issues.jboss.org/browse/AGSEC-190" target="_blank" class="">https://issues.jboss.org/browse/AGSEC-190</a><br class="">
--<br class="">
<br class="">
abstractj<br class="">
PGP: 0x84DC9914<br class="">
_______________________________________________<br class="">
aerogear-dev mailing list<br class="">
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank" class="">aerogear-dev@lists.jboss.org</a><br class="">
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank" class="">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br class="">
</blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div class="">Matthias Wessendorf <br class=""><br class="">blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank" class="">http://matthiaswessendorf.wordpress.com/</a><br class="">sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank" class="">http://www.slideshare.net/mwessendorf</a><br class="">twitter: <a href="http://twitter.com/mwessendorf" target="_blank" class="">http://twitter.com/mwessendorf</a></div>
</div></div>
_______________________________________________<br class="">aerogear-dev mailing list<br class=""><a href="mailto:aerogear-dev@lists.jboss.org" class="">aerogear-dev@lists.jboss.org</a><br class="">https://lists.jboss.org/mailman/listinfo/aerogear-dev</div></blockquote></div><br class=""></body></html>