[aerogear-dev] Node.js / Passport.js thoughts (was: Re: OAuth2, OpenID connect and AeroGear)
Brian Leathem
bleathem at gmail.com
Thu Oct 30 14:43:12 EDT 2014
As a learning exercise I just wrote a MEAN application with both web and
mobile (cordova) front-ends. The Node.js backend is using passport.js
to both authenticate against Gooale's Oauth2 and to secure the REST API
I implemented with Express.
I should be able to spare some cycles if you could use some extra hands
on this.
Brian
On 14-10-30 11:21 AM, Lucas Holmquist wrote:
>
>> On Oct 30, 2014, at 2:20 PM, Matthias Wessendorf <matzew at apache.org
>> <mailto:matzew at apache.org>> wrote:
>>
>>
>>
>> On Thu, Oct 30, 2014 at 7:13 PM, Lucas Holmquist <lholmqui at redhat.com
>> <mailto:lholmqui at redhat.com>> wrote:
>>
>>
>>> On Oct 30, 2014, at 9:41 AM, Matthias Wessendorf
>>> <matzew at apache.org <mailto:matzew at apache.org>> wrote:
>>>
>>> Hello team!
>>>
>>> On Thu, Oct 9, 2014 at 4:49 AM, Bruno
>>> Oliveira <bruno at abstractj.org <mailto:bruno at abstractj.org>> wrote:
>>> Note: Not only for Keycloak, but also compatible with other
>>> technologies
>>> like passport on Node.js.
>>>
>>> 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?
>>
>> So to clear up some confusion that might be happening with what
>> passport is, it is not an OAuth2 server thing.
>>
>> it’s really just middleware(think of it as a servlet filter for
>> you java weenies) for express.js, and by using adapters(like a
>> FB or google), it can secure RESTful endpoints in that express.js
>> app.
>>
>> 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 );
>>
>>
>> +1 would be nice to get this in https://issues.jboss.org/browse/AGJS-252
>>
>> On short term, it would be possible to use their existing adapters
>> for FB/Google and protect the node.js backend with these adapters,
>> right ?
>
> i think we can do that
>
>>
>>
>> Sounds like the AGJS-252 is the ultimate solution we want, but I
>> think for a quick test/verification (or even example) of our
>> Android/iOS OAuth2 clients, using the FB/Google adapters from
>> passprt.js would be a good first start ?
>>
>> -Matthias
>>
>>
>>
>>
>>
>>
>>
>>
>>>
>>> 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 :)
>>>
>>> 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.
>>>
>>> That way we will also learn how much Passport.js is actually
>>> different, similar to what we learned on how Google/FB are
>>> different ;-)
>>>
>>> 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.
>>>
>>> Any thoughts?
>>>
>>> -Matthias
>>>
>>>
>>> [1] https://github.com/aerogear/aerogear-backend-cookbook/tree/master/Shoot
>>>
>>>
>>>
>>>
>>> In the end, OAuth2 is just a protocol and
>>> should support other servers.
>>>
>>> - Should we provide examples for OpenID connect? Or
>>> abstractions?
>>>
>>> To track this issue, we have the following Jira[3] and
>>> another for
>>> OpenID connect[4]. Fell free to link to your respective project.
>>>
>>>
>>> [1] -
>>> http://transcripts.jboss.org/meeting/irc.freenode.org/aerogear/2014/aerogear.2014-10-08-14.00.html
>>>
>>> [2] - https://gist.github.com/abstractj/04136c6df85cea5f35d1
>>>
>>> [3] - https://issues.jboss.org/browse/AGSEC-180
>>>
>>> [4] - https://issues.jboss.org/browse/AGSEC-190
>>> --
>>>
>>> abstractj
>>> PGP: 0x84DC9914
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev at lists.jboss.org
>>> <mailto: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 <mailto:aerogear-dev at lists.jboss.org>
>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org <mailto: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 <mailto: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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20141030/dc4e655e/attachment-0001.html
More information about the aerogear-dev
mailing list