Node.js 使用卫星与离子和快速
我有一个平均堆栈应用程序,它使用satellizer进行FB登录Node.js 使用卫星与离子和快速,node.js,ionic,Node.js,Ionic,我有一个平均堆栈应用程序,它使用satellizer进行FB登录 $authProvider.facebook({ clientId: '1625070294abcdef', scope: 'user_friends' }); 这里没有其他自定义设置。 一旦FB身份验证对话框关闭,FB的响应(即用户数据)将发送到我的express服务器,以便我可以检索长期令牌 我的FB开发者门户网站URL的设置为: http://localhost:3000 这也
$authProvider.facebook({
clientId: '1625070294abcdef',
scope: 'user_friends'
});
这里没有其他自定义设置。
一旦FB身份验证对话框关闭,FB的响应(即用户数据)将发送到我的express服务器,以便我可以检索长期令牌
我的FB开发者门户网站URL的设置为:
http://localhost:3000
这也是我的express服务器正在侦听的地址
到目前为止还不错。。。所有作品
现在我也在创建一个ionic应用程序。。将使用相同的express后端
为了执行FB登录,我再次将sateziller与ionic一起使用
卫星在爱奥尼亚应用程序中的配置如下:
var commonConfig = {
popupOptions: {
location: 'no',
toolbar: 'no',
width: window.screen.width,
height: window.screen.height
},
commongConfig: {
clientId: '1625070294abcdef',
responseType: 'token',
redirectUri: 'http://localhost:3000'
}
};
问题如下。
在ionic应用程序中,FB自动验证窗口打开。用户验证..但现在不需要关闭窗口..相同的小窗口加载我的角度网站(来自我前面提到的平均网站)
这告诉我,从FB authen收到令牌后,它将被发送到我的express服务器。现在不再向我的ionic应用程序发送长期代币。。express服务器正在发送整个Angular应用程序
在express server上检索长期令牌的代码如下所示:
var accessTokenUrl = 'https://graph.facebook.com/oauth/access_token';
var params = {
'client_id': req.body.clientId,
'redirect_uri': req.body.redirectUri,
'client_secret': conf.FACEBOOK_SECRET,
code: req.body.code
};
console.log(params);
request.get({url: accessTokenUrl, qs: params}, function (err, response, token) {
if (err) {
callback(err);
}
var accessToken = qs.parse(token);
...
...
retreive user details from FB using this accessToken (code hidden for sake of clarity
..
..
res.status(200).send({
user: user.toJSON(),
token: token
});
});
我相信我在这里犯了一些根本性的错误
有类似的问题,但您可能希望查看ionic.project文件:
{“app_id”:“,”代理“:[{path:/api”,“proxyUrl:”http://localhost:3000“}]}
这样,您就可以将$authProvider
设置为:
$authProvider.twitter({url:'/api/user/twitter'})代码>
然后你在“/user/twitter”创建一条快速路线——当FB或twitter或etc试图重定向回inquirer页面时,它会点击你的ionic.project代理并将其直接发送到Express/Sails/Server,你可以将该请求捕获为GET、处理、创建用户等。显然,我的经验是使用twitter,但这一切都正常化了,所以我认为这对你来说是可行的
我希望这有帮助 也有类似的问题,但您可能需要查看IONAL.project文件:
{“app_id”:“,”代理“:[{path:/api”,“proxyUrl:”http://localhost:3000“}]}
这样,您就可以将$authProvider
设置为:
$authProvider.twitter({url:'/api/user/twitter'})代码>
然后你在“/user/twitter”创建一条快速路线——当FB或twitter或etc试图重定向回inquirer页面时,它会点击你的ionic.project代理并将其直接发送到Express/Sails/Server,你可以将该请求捕获为GET、处理、创建用户等。显然,我的经验是使用twitter,但这一切都正常化了,所以我认为这对你来说是可行的
我希望这有帮助