получить полезную нагрузку jwt, используя паспорт с узлом / экспресс - PullRequest
0 голосов
/ 25 октября 2018

Использование jwt с паспортом.Как получить полезную нагрузку токена в моем маршруте /secretonlyfor2?Или как стандартным способом проверить, разрешено ли владельцу действующего токена, например, удалить некоторые данные?

const opts = {
    jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
    secretOrKey: process.env.JWT_ENCRYPTION
}

const strategy = new JwtStrategy(opts, (payload, next) => {
    User.forge({id:payload.id}).fetch().then(result => {
        next(null, result);
    });
});


app.post('/getToken', (req, res) => {
    User.forge({email: req.body.email}).fetch().then(result => {       
        result.authenticate(req.body.password).then(user => {
            const payload = {id: user.id, email:user.email};
            const token = jwt.sign(payload,process.env.JWT_ENCRYPTION, {expiresIn: '60s'});
            res.send(token);
        }).catch(err => {
            return res.sendStatus(401);
        });
    });
});


app.get('/secretonlyfor2', passport.authenticate('jwt', {session: false}),(req, res) => { 
    //Want to do something like this
    if (id == 2) {
        res.send('yes');
    } else{
        res.send("no");
    }
});
...