Express - 使用facebook&amp ;;验证URI端点。谷歌

时间:2016-11-17 17:30:50

标签: authentication express

我的URI端点身份验证适用于facebook和&谷歌在我的快递应用程序中通过单独的中间件。 Facebook使用护照facebook-token策略,而谷歌我使用nodejs客户端lib为google API编写了我自己的中间件。我想要的是使用这两个中间件在URI端点上验证用户。

/*
//google controller file
module.exports = function(req,res,next){

}
*/
googlectrl = require('google controller file');
//this works fine
app.get('someurl',googlectrl,function(req,res){
//google user authenticated
}

//this works fine too
app.get('someurl',passport.authenticate('facebook-token',{session=false}),function(req,res){
//google user authenticated
}

但是如何将两者合并为同一个uri。否则我需要为google&amp ;;使用单独的URI。 FB。请咨询。请注意我已经尝试实施谷歌策略,但它没有奏效。

1 个答案:

答案 0 :(得分:0)

您可以为名为provider的用户对象使用一个数组字段,如下所示:

{
  "name": "asdasd",
  "providers": [ 'google']
}

在服务器端,检查用户正在使用哪个提供商并相应地调用该方法。例如:

如果用户向Google服务提供商请求,请致电

function handleGoogleAuthentication(){
   // Logic 
}

如果用户请求Facebook服务提供商,请致电

function handleFacebookAuthentication(){
     //Logic
}