次のようにpassport.jsを使用しているバックエンドアプリがあります:
passport.use(new LocalStrategy({
usernameField: 'login',
passwordField: 'passwd'
},function(username, password, done){
// call to external api to check if login & passwd are correct
var user = { user: username, passwd: password };
return done(null,user);
}));
passport.serializeUser(function(user, done) {
done(null,user);
});
passport.deserializeUser(function(id, done) {
done(null,id);
});
問題は、メインの REST API と通信するためにusername
andpassword
フィールドを使用することです。basicAuth
したがって、両方のフィールド (username
およびpassword
) をセッション内に保持する必要があります (これは localstrategy コールバックで確認できます)。これらを外部サーバーの basicAuth に使用します。どうすれば安全にできますか?セッションはCookieに保存されるため、セッション内に保存することはお勧めできません。セッションデータをサーバーに保存し、セッション/ユーザーIDのみをサーバーに保存するにはどうすればよいですか?