Le framework hapi.js est nouveau pour moi, j'ai créé différents fichiers pour les itinéraires et les plugins. J'ai enregistré le plugin hapi-auth-jwt dans un fichier nommé hapi-auth.js
Hapi-auth-jwt a la fonctionnalité de valider le jeton avec une fonction.
J'ai ajouté ma fonction nommée "valider" à mon code ... cette fonction ne fonctionne pas ... aidez-moi s'il vous plaît ...
"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"
};
Réponses:
1 pour la réponse № 1@uditkurmawat
Cela se produit parce que la demande est rejetée avant d'entrer dans la fonction validate. La demande doit être finit ici https://github.com/dwyl/hapi-auth-jwt2/blob/master/lib/index.js#L32
Vous devez attribuer un jeton d'autorisation avant de faire la demande. Vérifie ça: https://github.com/dwyl/learn-json-web-tokens