Поэтому я хотел бы сделать несколько маршрутов в API, которые будут показывать разные данные на основе роли пользователя, определенной в MongoDB. Здесь выборка того, что у меня есть прямо сейчас, она работает...
router.get('/test', passport.authenticate('bearer', {session: false}), function (req, res) {
if (req.user.role == "premium") {
return res.send('you can see this content');
}
else {
return res.send('you can not see this content');
}
})
Однако конечная цель состоит в том, чтобы предоставить пользователю что-то, даже если они не вошли в систему или не были аутентифицированы с правильной ролью.
router.get('/test', passport.authenticate('bearer', {session: false}), function (req, res) {
if (req.user.role == "premium") {
return res.send('this is premium content');
}
else {
// could be hit by another role, or no user at all
return res.send([some truncated version of the premium content]);
}
})
Что бы я подумал, что я выясню, как работать, но я не знаю, как указать тот же маршрут, который, возможно, может быть удален без заголовка авторизации в запросе.
Возможно ли это в Passport.js/Express?