Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Node.JS Web服务作为后端将Facebook登录集成到移动应用程序中_Node.js_Facebook_Express_Facebook Graph Api_Oauth 2.0 - Fatal编程技术网

使用Node.JS Web服务作为后端将Facebook登录集成到移动应用程序中

使用Node.JS Web服务作为后端将Facebook登录集成到移动应用程序中,node.js,facebook,express,facebook-graph-api,oauth-2.0,Node.js,Facebook,Express,Facebook Graph Api,Oauth 2.0,我一直在用Express.JS为我们的手机游戏编写一个RESTful Web服务。我正在尝试将我们手机游戏的身份验证服务与Facebook整合。但是我有一些问题我没有答案 下面是我在web服务中的代码(来自app.js的代码片段) 我正在尝试将用户名与Facebook帐户连接。 当我使用POST方法将用户名发送到localhost:8080/login/facebook并尝试调用https://graph.facebook.com/oauth/authorize,它应该重定向到Facebook登

我一直在用Express.JS为我们的手机游戏编写一个RESTful Web服务。我正在尝试将我们手机游戏的身份验证服务与Facebook整合。但是我有一些问题我没有答案

下面是我在web服务中的代码(来自app.js的代码片段)

我正在尝试将用户名与Facebook帐户连接。
当我使用
POST
方法将用户名发送到
localhost:8080/login/facebook
并尝试调用
https://graph.facebook.com/oauth/authorize
,它应该重定向到Facebook登录页面,然后重定向到重定向uri。
但由于这是web服务,我不希望它这样做。我想在我的移动应用程序中显示Facebook登录/Auth。
我是否使用了错误的API函数?
我似乎无法实现这一点,也找不到有关此主题的一些阅读资料。


我需要一步一步的指导,因为我不明白。

我建议调查一下我以前用passportjs做过的事情,但我想通过自己做的事情来了解它是如何工作的。但似乎没有人得到答案。反正我也没读过这个问题。我相信你要做的是在移动设备上完全验证facebook,然后将该令牌发送到你的服务器
app.post('/login/facebook', function(req, res) {
    var username = req.body.username;

    fb.api('oauth/authorize', {
        client_id: 'My Facebook App ID',
        redirect_uri: 'http://localhost:8080/login/facebook/callback'
    }, function (res) {
        if(!res || res.error) {
            console.log(!res ? 'error occurred' : res.error);
            return;
        }

        var accessToken = res.access_token;
        var expires = res.expires ? res.expires : 0;
        console("/login/facebook ||| " + accessToken + " ||| " + expires);
    });
});

app.post('/login/facebook/callback', function(req, res) {
    console.log("Facebook Callback Executed!");

    fb.api('oauth/access_token', {
        client_id: 'APP ID',
        client_secret: 'SECRET',
        code: req.params.code,
        redirect_uri: 'http://localhost:8080/login/facebook/callback'
    }, function (res) {
        if(!res || res.error) {
            console.log(!res ? 'error occurred' : res.error);
            return;
        }

        var accessToken = res.access_token;
        var expires = res.expires ? res.expires : 0;
        console("/login/facebook ||| " + accessToken + " ||| " + expires);
    });
});