流星Facebook无法授权
Meteor Facebook can't authorize
我的问题是,我不能配置服务器与Facebook正常工作。前一段时间我有{{>loginButtons}}和在第一次登录或重置后,我不得不复制和粘贴apId和秘密到弹出窗口,现在我试图自定义这些按钮多一点,我坚持"无效的应用程序ID:未定义"后点击FB按钮(窗口弹出),我甚至可以看到,在url我有未定义的ID https://www.facebook.com/dialog/oauth?client_id=undefined&redirect_uri=http://localhost:3000/_oauth/facebook?close&display=popup&scope=email&state=1111111111111111
这是一个代码,也许你可以帮助我或给我一些其他的方法来做。基本上,我想摆脱这个注册表单为普通用户和保留登录字段为Facebook, Twitter等。
My HTML:
<div id="login-buttons">
<div class="login-text-and-button">
<div class="login-button single-login-button" id="login-buttons-facebook">
<div class="login-image" id="login-buttons-image-facebook"></div>
<span id="sign-in-facebook" class="text-besides-image sign-in-text-facebook">Sign in with Facebook</span>
</div>
<br>
</div>
</div>
和JS方法:
"click #sign-in-facebook": function(e, tmp) {
Meteor.call('facebookLogin', function (error, result) {});
if (Accounts.loginServicesConfigured()) {
Meteor.loginWithFacebook({
requestPermissions: ['email']
}, function(err) {
if (err) {
console.log("error when login with facebook " + err);
} else {
console.log("login with facebook succeeded");
}
});
};
}
//这是在服务器端
facebookLogin:function(){
ServiceConfiguration.configurations.remove({
service: "facebook"
});
ServiceConfiguration.configurations.insert({
service: "facebook",
appID: "1111111111",
secret: "1111111111"
});
}
你可以看到所有的数据都在数据库
meteor:PRIMARY> db.meteor_accounts_loginServiceConfiguration.find()
{ "service" : "facebook", "appID" : "1111111111", "secret" : "211111111", "_id" : "111111" }
这看起来有点不正常。你只需要输入一次facebook的配置。
即Meteor.startup(function() {
ServiceConfiguration.configurations.remove({
service: "facebook"
});
ServiceConfiguration.configurations.insert({
service: "facebook",
appID: "1111111111",
secret: "1111111111"
});
});
您的登录点击处理程序:
"click #sign-in-facebook": function(e, tmp) {
Meteor.loginWithFacebook({
requestPermissions: ['email']
}, function(err) {
if (err) {
console.log("error when login with facebook " + err);
} else {
console.log("login with facebook succeeded");
}
});
}
尝试使用两个键:clientId和appId(一段时间前facebook将其重命名为clientId)如下:
ServiceConfiguration.configurations.upsert({
service: "facebook"
}, {
$set: {
appId: '11111',
clientId: '11111', // <-- Same as appId
loginStyle: "popup",
secret: '22222'
}
});
相关文章:
- Phantomjs 看不到 Twitter/Facebook 授权页面
- 在授权的Facebook应用程序中,应用程序,页面标签和独立网站的相同网址
- 使用 Javascript SDK,当用户尚未授权我的应用程序时,如何获取 Facebook 用户 ID
- Facebook应用程序授权
- Facebook JS API上的评论权限错误,尽管我有授权
- Facebook PHP SDK-图形错误“;已使用授权码“;页面刷新
- 获得'未授权'从Facebook Connect登录返回
- 流星Facebook无法授权
- 区分未登录的Facebook用户和已登录但尚未授权我们应用的Facebook用户
- Facebook主屏幕web应用的授权被打破了!
- 如何从Facebook javascript SDK获得授权代码
- 如何在facebook页面选项卡中授权用户
- 最佳实践的Facebook授权/行动在手机上没有插件
- Facebook API简单授权失败javascript
- 如何使用javascript授权facebook应用程序
- Facebook授权对话框无法在canvas中加载
- 在Windows 8应用中使用Javascript实现Twitter/Facebook授权
- Facebook JS SDK返回XSS错误和“user_denied”;响应而不显示授权弹出在FB.Login
- Facebook在获得授权后不会重新加载canvas
- Facebook登录没有原生Android应用程序“你已经授权”