我现在已经退休,现在有一些时间学习如何开发 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”
在阅读了各个网站上的几百万个问题和答案后,我没有任何想法来解决我的问题。我们将高度赞赏您的建议。
谢谢
检查您的 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)
| 归档时间: |
|
| 查看次数: |
5403 次 |
| 最近记录: |