2016-03-30 6 views
1

ich die Express enthalten, usw. einschließlich:Typeerror: jwt.sign ist keine Funktion

var expressJwt = require('express-jwt'); //https://npmjs.org/package/express-jwt 
var secret = 'this is the secret secret secret 12356'; 
var jwt = require('jsonwebtoken'); //https://npmjs.org/package/node-jsonwebtoken 

dann meine sequelize Modelle definieren und Epilog Routen und legen Sie diese hier:

app.post('/authenticate', function (req, res) { 
    //TODO validate req.body.username and req.body.password 
    //if is invalid, return 401 
    if (!(req.body.username === 'john.doe' && req.body.password === 'foobar')) { 
    res.status(401).send('Wrong user or password'); 
    return; 
    } 

    var profile = { 
    first_name: 'John', 
    last_name: 'Doe', 
    email: '[email protected]', 
    id: 123 
    }; 

    // We are sending the profile inside the token 
    var token = jwt.sign(profile, secret, { expiresInMinutes: 60*5 }); 

    res.json({ token: token }); 
}); 

Als ich eingeben john.doe und foobar in einem Formular, ich werde von der Konsole gesagt, dass jwt.sign keine Funktion ist, auch nach einer npm-Installation.

Antwort