2017-12-08 6 views
0

NodeJS内のサーバーに接続するアプリケーションをAngular 5で開発しています。Angular 5/Node Express各リクエストは新しいセッションを使用します

ユーザーがログインした後、私はreq.sessionオブジェクトにユーザーを追加します。

私はAPIから何かを取得するための角度5アプリから第2の要求を行うと、req.sessionが含まれていません。ユーザーとreq.sessionIdは常に異なっています。

どのようにしてセッションを永続化できますか?ここで

は、セッションとcookieParserミドルウェアです:

app.use(cookieParser(config.secret)) 

app.use(session({ 
    secret: config.secret, 
    saveUninitialized: false, 
    resave: false, 
    cookie: { 
     httpOnly: true, 
     secure: false 
    } 
})) 
+0

セッションにユーザーを配置するコードを表示できますか? passportjsをミドルウェアとして使用していますか、独自の実装がありますか? –

+0

私はローカル戦略でパスポートを使用します。 –

+0

それは良いです。 Passportは通常、戦略を通して、そしてユーザーをシリアライズおよびデシリアライズすることによって、セッションの処理を処理します。しかし、通常は、Cookieに不可欠な複数の重要な設定ファイルがあります。特に興味深いのは、アプリケーションに渡されるパスポートファイル(ユーザーがシリアライズ/デシリアライズされている場所)とローカルの戦略です。おそらくエラーを見つけるのに役立ちます –

答えて

0

それはCORS関連の問題でした。 httpリクエストオプションにAngularの{ withCredentials: true }を含める必要がありました。

関連する問題