“未知的身份验证策略”“jwt”

Yve*_*ves 5 node.js jwt

我现在已经退休,现在有一些时间学习如何开发 MEVN 应用程序;-) 我现在需要使用令牌来保护应用程序中的几个页面jwt。我可以登录用户并稍后读取其令牌:

app.get('/movies', (req,res) => {
    jwtOptions.jwtFromRequest = ExtractJwt.fromAuthHeaderWithScheme('jwt');
     console.log(Version + 'JWT token: ' + jwtOptions.jwtFromRequest(req));
    Movie.find({}, 'name description release_year genre', (error, movies) => {
        if(error) { console.log(error);}
        console.log(Version + "Fetched " + movies.length + " movies");
        res.send(movies);
    });
});
Run Code Online (Sandbox Code Playgroud)

我在控制台中获取了用户令牌。美好的!此 get 请求尚未受到保护。为了保护它,我稍微修改了第一行:

app.get('/movies', passport.authenticate('jwt', { session: false }), (req,res) => {
...
Run Code Online (Sandbox Code Playgroud)

现在触发了一个错误。

未知的身份验证策略“jwt”

在阅读了各个网站上的几百万个问题和答案后,我没有任何想法来解决我的问题。我们将高度赞赏您的建议。

谢谢

Fur*_*mir 1

检查您的 server.js 或 index.js。添加这些初始化程序。

const passport = require('passport');
// Passport middleware
app.use(passport.initialize());

// Passport Config
require('./config/passport')(passport);
Run Code Online (Sandbox Code Playgroud)