我的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。请咨询。请注意我已经尝试实施谷歌策略,但它没有奏效。
答案 0 :(得分:0)
您可以为名为provider的用户对象使用一个数组字段,如下所示:
{
"name": "asdasd",
"providers": [ 'google']
}
在服务器端,检查用户正在使用哪个提供商并相应地调用该方法。例如:
如果用户向Google服务提供商请求,请致电
function handleGoogleAuthentication(){
// Logic
}
如果用户请求Facebook服务提供商,请致电
function handleFacebookAuthentication(){
//Logic
}