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);
});
});
我在控制台中获得了用户令牌。美好的!此获取请求尚未受到保护。为了保护它,我稍微修改了第一行:
app.get('/movies', passport.authenticate('jwt', { session: false }), (req,res) => {
...
现在触发了一个错误。
未知的身份验证策略“jwt”
在阅读了各种网站上的几百万个问题和答案后,我没有任何想法可以解决我的问题。建议将不胜感激。
谢谢
解决方案
你检查过你的 server.js 或 index.js 吗?你应该添加一些初始化程序。我收到了同样的错误,我错过了那些
const passport = require('passport');
// Passport middleware
app.use(passport.initialize());
// Passport Config
require('./config/passport')(passport);
推荐阅读
- xamarin - Xamarin Android - Android 10 中的启动画面闪烁
- canvas - 带有 handlebar.js 的 Chart.js 显示空画布
- r - 如何在 R 中正确解析和扩展我的 XML ID
- r - 省略数据框中元素相同的行
- apache-kafka - 如果 Origin 不“产生事件”,如何将 StreamSets 管道转换为已完成状态?
- c - strchr 函数不断给我核心转储错误
- c++ - cpp:如何定义从指向类的指针动态分配的字段?
- python - 如何使用python将列内的子元素转换为数据框到行?
- aws-lambda - 使用现有策略的 AWS Gateway 中的无服务器白名单 IP
- javascript - 模态在 ipad 虚拟键盘后面重叠