首页 > 解决方案 > 无法在护照 github 策略中删除会话

问题描述

我正在使用护照 js 访问 Github API。我的版本是passport@0.4.0,passport-github2@0.1.11,express-session@1.17.0,express@4.17.1。

我能够获得访问令牌并成功访问 github api,但无法正确注销。我正在使用以下代码。

app.use(session({ secret: 'secret key', resave: true, saveUninitialized: true ,cookie: { maxAge: 100000 }  }));
app.use(passport.initialize());
app.use(passport.session());
app.get('/logout',function(req,res){
  req.logout();
  req.session.destroy(function (err) {
    if (err) { return next(err); }

    res.redirect('/login');
  });

})

当我在我的应用程序中单击注销按钮时,它已注销并且无法访问经过身份验证的 URL。我的问题是当我在另一个选项卡中访问https://github.com/时,用户会话仍然处于活动状态。如何撤销访问令牌?我不想使用OAuth Authorizations API,它将于 2020 年 11 月 13 日被删除。

标签: expressgithuboauth-2.0passport.jsexpress-session

解决方案


推荐阅读