我已经通过 Twitter 登录将我的应用程序部署到 Meteor 的服务器上。所以我第一次加载它时,它要求我配置消费者密钥和秘密,在保存这些细节的过程中出了点问题。现在每次我用 Twitter 登录时,它都会弹出一个新窗口,但会立即返回一个 Meteor 对话框,上面写着“内部服务器错误”。
我有哪些选择?
如果我无法访问数据库(因为它在 Meteor 的服务器上),如何重置我的应用程序的 OAuth 状态。
解决此问题的另一种方法是在应用程序加载时以编程方式设置/重置访问密钥/秘密。
// ensure this runs server side
Meteor.startup(function() {
Accounts.loginServiceConfiguration.remove({
service: "twitter"
});
Accounts.loginServiceConfiguration.insert({
service: "twitter",
consumerKey: "XXX",
secret: "XXX"
});
});
相同的方法可以应用于配置其他网络。键值也可以使用环境变量或 Meteor.settings 动态加载:http: //docs.meteor.com/#meteor_settings
您可以访问您的收藏并使用以下命令访问 mongo shell
meteor mongo yourapp.meteor.com
查找名为的集合meteor_accounts_loginServiceConfiguration
并将其删除
并且对于您的用户特定的 OAuth 状态进入users
集合。您的 OAuth 应该在services.twitter
&services.resume