【问题标题】:validate function is not working in Hapi.js验证功能在 Hapi.js 中不起作用
【发布时间】: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'
 };

【问题讨论】:

标签: node.js authentication hapijs


【解决方案1】:

@uditkurmawat

这是因为请求在进入验证功能之前被拒绝。请求必须在这里结束 https://github.com/dwyl/hapi-auth-jwt2/blob/master/lib/index.js#L32

您需要在发出请求之前分配授权令牌。 检查这个:https://github.com/dwyl/learn-json-web-tokens

【讨论】:

  • 所以,您缺少分配令牌部分。
  • 我在标题中留下了授权字段:P
猜你喜欢
  • 1970-01-01
  • 2019-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多