使用Node.JS Web服务作为后端将Facebook登录集成到移动应用程序中
我一直在用Express.JS为我们的手机游戏编写一个RESTful Web服务。我正在尝试将我们手机游戏的身份验证服务与Facebook整合。但是我有一些问题我没有答案 下面是我在web服务中的代码(来自app.js的代码片段) 我正在尝试将用户名与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登
当我使用
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);
});
});