2016-10-25 5 views
0

Я попыталсяКак полностью уничтожить паспорт/экспресс-сессию?

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, так что я хотел бы маршрут/выхода из системы только вернуть мне статус успеха и что в следующий раз я пытаюсь войти в возьмите меня в форму вместо того, чтобы проверять меня на основании того, что я думаю, что это печенье или что-то в этом роде.

Как я могу это достичь?

ответ

0

Похоже, что это было что-то особенное из orcID, мне нужно forcelogout

Смежные вопросы