私が理解している考え方は、認証されていなくてもPassportがすべてのユーザーに対して一意のセッションIDを生成するということです。それらが認証されると、サーバーはuserId(通常はデータベースから)をこのセッションIDに関連付けることができます。Passport認証の一意のセッションIDの概念
私はコードを見ていることだし、それは、セッション内のuserId passport.serialize店のように見え、その後passport.deserializeがセッションに保存されているユーザーIDを取り、より多くのユーザー情報をデータベースに照会し
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id)
.then(user => done(null, user))
.catch(err => done(err));
});
私が実際に見ないのは、ユニークなsessionIdです。 userIdがセッションに格納されている場合、誰もuserIdを偽装してユーザ情報を取得できないでしょうか?または、PassportによってsessionIdとuserIdのマッピングが実行されていますか?