Node.js 如何检查用户是否已登录?Passport和discord oAuth2(EJS)
如何检查用户是否使用passport和Discord oAuth2登录EJS 我希望它显示2个不同的导航栏和页脚的基础上,如果用户登录或没有到目前为止,我只是得到一堆错误和愤怒的态度 我在这个问题上犯了很多错误,但我认为没有任何错误是导致我尝试的方法无效的原因 我尝试过更改数据库中的值,只是EJS代码中的一个if-else语句。结果是负面的 以下是我到目前为止取得的进展Node.js 如何检查用户是否已登录?Passport和discord oAuth2(EJS),node.js,express,oauth-2.0,discord,ejs,Node.js,Express,Oauth 2.0,Discord,Ejs,如何检查用户是否使用passport和Discord oAuth2登录EJS 我希望它显示2个不同的导航栏和页脚的基础上,如果用户登录或没有到目前为止,我只是得到一堆错误和愤怒的态度 我在这个问题上犯了很多错误,但我认为没有任何错误是导致我尝试的方法无效的原因 我尝试过更改数据库中的值,只是EJS代码中的一个if-else语句。结果是负面的 以下是我到目前为止取得的进展 const { getPermissions } = require('../utils/utils'); // var i
const { getPermissions } = require('../utils/utils');
// var isLoggedIn = false
function isAuthorized(req, res, next) {
if(req.user) {
console.log("User is logged in.");
next(isLoggedIn = true);
}
else {
console.log("User is not logged in.");
}
}
router.get('/', (req, res) => {
res.render('home', {
isLoggedIn = isLoggedIn()
});
})
module.exports = router
我将根据您的UI是否有任何标记来确定这一点。一个有用的设计模式可以如下进行:
- 定义一个接口来表示与身份验证相关的操作,如中所示
- 然后,您的大多数应用程序都可以屏蔽任何特定于OAuth的详细信息,只需问isLoggedIn问题即可
- 然后,实现可以检查令牌是否可用,如中所示
req.user
未定义,等等。?我建议你在登录时检查(甚至在这里发布)你的路线以及你在那里做什么。