Я попыталсяКак полностью уничтожить паспорт/экспресс-сессию?
req.session.destroy();
req.logout();
req.logOut();
После завершения сеанса я проверяю
req.isAuthenticated()
Возвращает ложные.
Но если я иду в /войти в снова будет автоматически аутентифицировать меня с тем же пользователем, не принимая меня в форме входа.
Im использует стратегию OAuth2Strategy для паспорта, соединяющего его с ORCID. Я хотел бы полностью уничтожить сеанс, поэтому, если я хочу снова войти в систему, я могу сделать это с другим пользователем.
Это, как я его установка:
app.use(session({
secret: 'secret,
saveUninitialized: 'true',
resave: 'true'
}));
app.use(passport.initialize());
app.use(passport.session());
passport.serializeUser((user, done) => {
done(null, user);
});
passport.deserializeUser((user, done) => {
done(null, user);
});
passport.use(new OAuth2Strategy({
scope: '/authenticate',
authorizationURL: '',
tokenURL: '',
clientID: '',
clientSecret: '',
callbackURL: '',
passReqToCallback: true
},
(req, accessToken, refreshToken, params, profile, cb) => {
cb(null, data);
}
));
Я строй SPA, так что я хотел бы маршрут/выхода из системы только вернуть мне статус успеха и что в следующий раз я пытаюсь войти в возьмите меня в форму вместо того, чтобы проверять меня на основании того, что я думаю, что это печенье или что-то в этом роде.
Как я могу это достичь?