exports.initPassportLocalStrategy = function() {
passport.use(new LocalStrategy(
{
session: false
},
function(username, password, done) {
UserProxy.validateUserWithPassword(username, password)
.then(function (user) {
if(user) done(null, user);
else done(null, false);
})
.catch(done);
}
));
passport.serializeUser(function(user, cb) {
cb(null, user);
});
};
私はseesionのないトークンベースの認証ミドルウェアを実装しています。だから私はなぜserialzeUser
機能を提供する必要があるのだろうと思っていたのですか?私は、その理由がユーザーまたはそのプロパティのいくつかをセッションに入れてから、desearlizeUser
がセッションからオブジェクト全体を取得してreq.user
に入れることを読んだ。だからここPassportJSノード:セッションを使用していない場合でもserializeUserとdeserializeUserが必要な理由
は私の質問です:
なぜ(ヌル、ユーザー)行われていないことができます。
LocalStrategy
機能では、ユーザをreq.user
に入れますか?なぜシリアル化して、deserailieを気にしますか?searlizeUser
機能を削除するとエラーが表示されますが、deserilzeUser
機能がないと離れることがあります。なぜですか?この場合、ユーザーオブジェクトは誰に入れますかreq.user
?
多くのありがとう。