2

我已经通过 Twitter 登录将我的应用程序部署到 Meteor 的服务器上。所以我第一次加载它时,它要求我配置消费者密钥和秘密,在保存这些细节的过程中出了点问题。现在每次我用 Twitter 登录时,它都会弹出一个新窗口,但会立即返回一个 Meteor 对话框,上面写着“内部服务器错误”。

我有哪些选择?

如果我无法访问数据库(因为它在 Meteor 的服务器上),如何重置我的应用程序的 OAuth 状态。

4

2 回答 2

9

解决此问题的另一种方法是在应用程序加载时以编程方式设置/重置访问密钥/秘密。

// 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

于 2013-03-25T15:44:51.187 回答
3

您可以访问您的收藏并使用以下命令访问 mongo shell

meteor mongo yourapp.meteor.com

查找名为的集合meteor_accounts_loginServiceConfiguration并将其删除

并且对于您的用户特定的 OAuth 状态进入users集合。您的 OAuth 应该在services.twitter&services.resume

于 2013-03-23T22:31:31.470 回答