問題タブ [redistogo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Heroku で Passport 認証が機能しませんか?
私のアプリケーションは、express を使用する nodejs Web アプリケーションです。cms と api を備えたポートフォリオ Web サイトとして機能します。
私のログインルートには、次のコードがあります。
私のherokuログは、ユーザーが定義され、正しいことを教えてくれます。はreq.logIn()起動し、成功し、(本来あるべきように) にリダイレクトし/cms/usersます。ただし、リクエストに含まれていない/cms/usersため、403 at が返されます。req.userこれにより、セッションが持続していないと思いますが、私は専門家ではなく、次に何をすべきかわかりません.
私は redistogo と mongolab を使用しており、両方の構成は CLI を使用して設定されています。助言がありますか?私は立ち往生しています!ありがとう。
編集:すべてが私のローカル マシンで正常に動作していることを追加する必要があります。
redis - redistogo への接続方法 データを見るには?
https://redistogo.com/documentation/introduction_to_redis?language=enを読みましたが、機能しませんでした。
とはmy-host?
データベースを見るには?
Web コンソールにすべてのデータが表示されていないようです。keys失敗します。
redis-cli -h は「Redis に接続できませんでした」を返します
redis - call': ERR MEET の無効な IP アドレス (Redis::CommandError) Redis
初めてredisクラスターコマンドを実行すると、エラーが発生します
同じコマンドを2回実行すると、エラーが以下に変わります
両方の問題を解決するのを手伝ってください。
Redis クラスター構成のダミーのチュートリアルがあれば、私と共有してください。
node.js - nodejs/redis auth はローカルで (Foreman を使用して) 機能しますが、Heroku では機能しません
ノードアプリが Heroku にある場合、req.session (.user) が存在しないようです。ローカルマシンで物事が機能し、heroku にプッシュすると、他の用途のために redis-to-go ストアにアクセスできますが、ログインして認証済みページに進むと、提供されたサーバーで「内部サーバーエラー」が発生しますページ、およびログの「未定義のプロパティ 'currentUser'を読み取れません」、w/undefined = req.session、と思います。
また、両方のファイルの先頭に同じ redistogo コードがあります。
編集:私はまだ Heroku/express/redis にかなり慣れていません。問題は、上記のコードがエクスポートされて呼び出される関数に含まれていない可能性があることに気付いたので、移動しましたが、できませんデプロイします。後
以前と同じデプロイとロールバックの古いリストを取得します…</p>
だから、1)私の問題は、エクスポートされたfnの外にコードがあったことです??
2) 変更をプッシュするにはどうすればよいですか? Heroku でメモリが不足している可能性はありますか? 私のプログラムはそれほど大きくありません…</p>
Edit2 - 私はそれを理解しました。必要ないくつかの小さな変更がありました。
ありがとう、ジョン
node.js - Passport ユーザーは Express セッションに設定されていませんが、ソケット ハンドシェイクで使用できます
NodeJS Express、Connect で Passport を使用しています。セッション ストアは RedisStore です。Forcedotcom 戦略を使用しています。
Express サーバーに対して REST 呼び出しを行うと、req.session の Passport セクションに常に空白が表示されます。また、 req.user は未定義です:
ただし、ユーザーはソケット オブジェクト socket.handshake.user に設定されています。
}));
認証中にRedisに保存するユーザーオブジェクトのPassportシリアライズとデシリアライズ:
Express Connect ミドルウェア:
connection - redistogo に接続するとエラーが発生します:-
次の redistogo 資格情報を使用して redis に接続しようとすると、エラーが発生します。
取得エラー:-
heroku - redisClient.set :- 更新なし エラーなし
ネットワーク経由のネストされた更新では、「abc updated」が出力されますが、実際の値は redis データベースで更新されません。
注:- 上記のコードは localhost で機能しますが、heroku-redistogo では更新が表示されません。
編集:- Redistogo に接続された redis を使用して、localhost でコードを実行しています。次のコードを使用:-
エクスプレスセッションの設定:-
また、次のコードを使用して別の redisClient を作成しています:-
ruby-on-rails - Redis/Resque [localhost:6379 (ECONNREFUSED) での Redis への接続エラー]
Rails アプリケーションを Resque を使用して redis-to-go サーバーに接続しようとしていますが、次のエラーが表示されます。
考えられる解決策をたくさん試しましたが、どれもうまくいきました。ここにあるすべての指示に従いますが、何もしません。
私は2つの初期化子を持っています:
redis.rb
resque.rb
そしてレーキファイル:
多くの部分のコードを追加したので、今は少し醜いですが、redis-to-go を使用しようとする前に、これを他の構成でローカルに使用していましたが、動作しますが、今は heroku にデプロイしたいと問題があります開始:c。
PS
手動で redis に挿入/取得しようとすると、うまくいきます! (レールコンソール)