2017-05-09 26 views
-1

私のアプリケーションでは、ユーザーは固有の識別子として電子メールを使用してサインインします。しかし、私はログイン後にユーザーがプロファイルページで自分のEメールを変更できるようにする機能を実装するよう求められます。問題は、データベースを正常に更新できるようにしても、クライアントセッションは古い情報を保存します。次に、何かをしようとすると(GET)、req.user.emailはデータベースには含まれません。どのようにそのような問題を処理するには?または別の言葉では、エクスプレスセッションを正しく更新する方法は?Node/Express/PassportでユーザーログインIDを変更する方法は?

答えて

0

セッションにユーザーデータを入れることができたら、req.logInを再度呼び出すことができます(この機能はログインプロセスでパスポートから呼び出されます)。プロセスが正しく呼び出されます(例:serializeUser関数など)

req.logIn(newUser, function (err) { 
     if (err) { 
      // Ops! Something went wrong!! 
     } 

    }); 

希望すると助かります!

関連する問題