私はコアパスポートとパスポートローカルを使用します
初期化戦略
passport.use(new LocalStrategy(
(username, password, cb) => {
db.findByUsername(username, (err, user) => {
return cb(null, user);
});
}));
ログイン
authorization.post("/login", function(ctx, next) {
return passport.authenticate("local", function(user,error) {
if (!user) {
ctx.status = 401;
ctx.body = { success: false, ...error }
} else {
ctx.body = { success: true }
ctx.status = 200;
return ctx.login(user)
}
})(ctx, next)
})
Cookieを削除した後も、ブラウザーは引き続きプライベートURLにアクセスでき、同じユーザーで再度ログインすると、応答にセッションIDの「Set-Cookie」ヘッダーが含まれません。どうすれば修正できますか?
回答:
回答№1は0それは、koa-proxyを使用しているためです。 認証ロジックは別のサーバーにあり、プロキシリクエストにはkoa-proxyを使用しています。今、私はkoa-proxyを削除し、http-proxyとhttp-proxy-rulesを使用します。