【发布时间】:2016-06-17 12:05:08
【问题描述】:
我是 hapi.js 框架的新手,我为路由和插件制作了不同的文件。我已经在一个名为 hapi-auth.js 的文件中注册了 hapi-auth-jwt 插件
Hapi-auth-jwt 具有通过某些功能验证令牌的功能。
我已将名为“validate”的函数添加到我的代码中...此功能不起作用...请帮助我...
'use strict';
const User = require('../Models/user.js');
const config = require('../Config');
let validate = function(request,decodedToken,callback){
var user = User.findOne({},function(err,user){
if(err)
throw err;
return user;
});
let error,credentials = user.username || {};
if(!credentials)
return callback(null,false,credentials);
return callback(null,true,credentials);
};
exports.register = function(server, options, next){
server.register(require('hapi-auth-jwt'),(err)=>{
server.auth.strategy('token','jwt',{
key : config.jwtSecret.key,
validateFunc : validate,
verifyOptions:{ algorithms:['HS256'] }
});
});
next();
};
exports.register.attributes = {
name: 'hapi-auth-plugin'
};
【问题讨论】:
-
你为什么要将回调函数设置为一个变量,这不会像你想要的那样工作?
-
我只是将函数定义设置为变量验证
-
你将永远无法使用异步函数设置该变量
-
@simon-p-r 看到这个例子github.com/ryanfitz/hapi-auth-jwt
标签: node.js authentication hapijs