Node.js 将Hapi和JWT验证升级至最新版本
我被要求将一个旧项目更新为最新的依赖项,我在JWT身份验证方面遇到了一些问题 这是被指控的方法Node.js 将Hapi和JWT验证升级至最新版本,node.js,jwt,hapijs,Node.js,Jwt,Hapijs,我被要求将一个旧项目更新为最新的依赖项,我在JWT身份验证方面遇到了一些问题 这是被指控的方法 Auth.replyWithToken = function (textok, results, reply) { //successlog.info('Creating token for session ID: ' + results.sessionID); successlog.info('\tAuth.replyWithToken\Create token for sessio
Auth.replyWithToken = function (textok, results, reply) {
//successlog.info('Creating token for session ID: ' + results.sessionID);
successlog.info('\tAuth.replyWithToken\Create token for session\t' + results.sessionID + '\t\t');
if (results.sessionID) {
var JWT = require('jsonwebtoken');
var obj = { "sessionid": results.sessionID, "username": results.userName }; // object/info you want to sign
var token = JWT.sign(obj, Consts.authKey);
var cookie_options = {
ttl: 365 * 24 * 60 * 60 * 1000, // expires a year from today
encoding: 'none', // we already used JWT to encode
isSecure: false, // warm & fuzzy feelings
isHttpOnly: true, // prevent client alteration
clearInvalid: false, // remove invalid cookies
isSameSite: false,
strictHeader: true // don't allow violations of RFC 6265
};
//reply({text: textok + ' ok'})
results["token"] = token;
reply(results)
.header("Authorization", token)
.state("token", token, cookie_options); //setto il cookie
}
else {
return reply(Boom.unauthorized('Invalid login or password'));
}
}
不是,这是旧代码。。。我的代码,使用传递的新参数
auth.replyWithToken = function ( responseObject, h) {
//logger.info('Creating token for session ID: ' + results.session_id);
logger.info('\tAuth.replyWithToken\Create token for session\t' + responseObject.session_id + '\t\t');
if (response.session_id) {
var JWT = require('jsonwebtoken');
var obj = { "sessionid": responseObject.session_id, "username": responseObject.username }; // object/info you want to sign
var token = JWT.sign(obj, consts.authKey);
logger.log(token);
response["token"] = token; <- I got an error that response is not defined, where should I get it?
return ??????? what do I have to return here
}
//else {
// return reply(boom.unauthorized('Invalid login or password'));
//}
}
auth.replyWithToken=函数(responseObject,h){
//logger.info('为会话ID创建令牌:'+结果.session\u ID);
logger.info('\tAuth.replyWithToken\Create token for session\t'+responseObject.session\u id+'\t\t');
if(响应会话\u id){
var JWT=require('jsonwebtoken');
var obj={“sessionid”:responseObject.session_id,“username”:responseObject.username};//要签名的对象/信息
var token=JWT.sign(obj,conss.authKey);
logger.log(令牌);
响应[“令牌”]=令牌;您找到解决方案了吗?