2016-11-07 10 views
1

私はIonic2フロントエンドとノード/エクスプレス/モンゴバックエンドを使用しています。ユーザーにログインするためのPassportローカル戦略を構成し、制限付きエンドポイントにアクセスするためにユーザーが認証されているかどうかを判断するための単純なミドルウェアを構成しました。これは、私がPostmanクライアントでテストするとうまく動作します。しかし、ブラウザからログインしてエンドポイントにアクセスしようとすると失敗します。ブラウザ(Chrome)が "set-cookie"ヘッダー内のCookie値を返すことがわかりますが、Passportは "Cookie"ヘッダーのCookie値を探しているようです。私は私のアプリからGET要求のCookieヘッダーを設定しようとしましたが、明らかにセキュリティ上の理由でこれを行うことはできません。 CookieヘッダーのCookie値を返すようにアプリを設定するにはどうすればよいですか?パスポートローカル戦略でユーザーを認証できません

Middleware 
function userAuthenticated(req, res, next){ 
    //returns value from Postman; undefined from app  
    console.log(req.get('Cookie').toString()); 
    //returns value from app; undefined from Postman 
    console.log(req.get('set-cookie').toString()); 

    if(req.isAuthenticated()){ 
     return next(); 
    } 
     res.send([{"message":"not logged in"}]); 
} 

Protected endpoint 
router.get('/books', userAuthenticated, function (req, res, next) { 
    Book.find({}, function(err, docs){ 
     if(err) { 
      res.send(err); 
     } else { 
      res.json(docs); 
      //next(); 
     } 
    }) 
}); 

答えて

関連する問題