如何彻底破坏护照/快递会话?

时间:2016-10-25 18:31:10

标签: express passport.js express-session

我试过

req.session.destroy();
req.logout();
req.logOut();

退出后我检查

req.isAuthenticated()

返回 false

但如果我再次转到 / login ,它会自动向我发送身份验证,而不会将我带到登录表单。

我使用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,所以我希望/ logout路由只返回我的成功状态,下次我尝试登录时将我带到表单而不是根据我认为cookie或者身份验证我东西。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

看起来它是特定的orcID,我必须forcelogout