[解決済み] Node + Express + Passport: req.user 未定義
2023-06-11 20:54:54
質問
私の質問は、次のようなものです。 1 に似ていますが、彼の解決策への洞察はありませんでした。
Passport を使用して Instagram を使用して認証しています。 認証に成功すると、ユーザーは "/" に誘導されます。 この時点では、リクエストはユーザー オブジェクトを持っています (つまり、機能しています)。 しかし、一度リダイレクトすると、req.userは未定義です :'(
奇妙なのは、passport.deserializeUserがリクエストごとに呼び出されていることです。 これは正常にユーザーオブジェクトを取得していますが、ミドルウェアのどこかでreq.userが設定されていない(または設定されていない)状態になっているのです。
// on successful auth, goto "/"
app.get('/', function(req, res) {
// if the request has the user object, go to the user page
if (req.user) {
res.redirect("/user/" + req.user._id);
}
res.render("index");
}
app.get('/user/:uid', function(req, res) {
console.log(req.user) // undefined
}
どのように解決するのですか?
あなたのアプリにセッション状態を設定しましたか?もししていないなら、次のようなものが必要です...
app.use(session({ secret: 'anything' }));
app.use(passport.initialize());
app.use(passport.session());
関連
-
[解決済み】Discord.js が特定のチャンネルにメッセージを送信する場合
-
[解決済み】Node.jsのエラーECONNRESETをデバッグするにはどうすればよいですか?
-
[解決済み】passport.js passport.initialize() ミドルウェアが使用されていません。
-
[解決済み】Passport.js - エラー: ユーザーのセッションへのシリアライズに失敗しました。
-
[解決済み] bodyParser は非推奨です express 4
-
[解決済み] npm install エラー - ローカルの発行者証明書を取得できません。
-
[解決済み] express は `body-parser deprecated undefined extended` としてエラーを投げます。
-
[解決済み] ノードマータ予期せぬフィールド
-
[解決済み] エラー: ノード出力を "|head" にパイプするときに EPIPE を書き込む。
-
[解決済み] パスポートの理解 シリアライズ デシリアライズ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Node.jsのエラーECONNRESETをデバッグするにはどうすればよいですか?
-
[解決済み】AWS Lambdaでnodejsの「ref」モジュールを使用すると「invalid ELF header」と表示される件
-
[解決済み】npx コマンドが見つかりません。
-
[解決済み】MongoDBのデータ/DBが見つからない
-
[解決済み】nodemon - app crashed - waiting for file changes before start
-
[解決済み】「npm install」と「npm rebuild」の違いとは?
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] エラーメッセージ MongoError: bad auth URI 文字列で認証に失敗しました。
-
[解決済み] ノードマータ予期せぬフィールド
-
[解決済み] パスポートの理解 シリアライズ デシリアライズ