使用passport.js将本地策略连接到另一个(Facebook,Twitter,Google等)

我有一个node.js应用程序使用通行证(与一个修改的passport本地login策略)进行身份validationpipe理。 我想允许用户使用护照策略连接他们的社交networking帐户,但是从我所看到的现有身份validation(在请求对象上)在新的身份validation时被覆盖。

我应该如何处理这个?

我已经创build了一个示例,请参阅https://github.com/fpp/drywall

它允许将一个或多个社交帐户与本地策略用户相关联,从社交帐户创build本地策略用户,以及从这些用户添加/删除社交帐户。

目前twitter和github已经实现 – 只需添加其他护照版本并调整代码示例以获取更多服务。

该示例使用Node.js 0.8x,express 3.x和backbone.js – 包括http://jedireza.github.com/drywall/示例项目中的一些基本用户pipe理。

PS我无法获得护照文件中描述的第二条路线(对于相同的社会服务)/授权与authentication护照工作。 使用

passReqToCallback: true 

在战略,而不是在用户(看例子更多)。

我正在使用passport.authenticate,当我应该使用passport.authorize!

docs here: http : //passportjs.org/guide/authorize/