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シェルにアクセスできます

meteor mongo yourapp.meteor.com

というコレクションを探してmeteor_accounts_loginServiceConfiguration削除します

また、ユーザー固有の OAuth 状態については、usersコレクションに入ります。services.twitterあなたの OAuth は&にあるべきですservices.resume

于 2013-03-23T22:31:31.470 に答える