Es gibt nicht viele Beispiele für hapi und seine auth-Cookie-Plugin, aber hier ist, was ich bisher in einem Versuch, eine Route zu sichern. Beachten Sie, dass die meisten der Beispiele, die ich gesehen habe, sind eine ältere Version von hapi verwendet, die nicht auf diese Situation recht gelten scheint und im im nur der Hoffnung, etwas fehlt einfach:hapi-auth-cookie Session-Strategie nicht laden
var Hapi = require('hapi');
var Mongoose = require('mongoose');
Mongoose.connect('mongodb://localhost/rfmproducetogo');
var server = new Hapi.Server(8080, "localhost");
server.pack.register([{
plugin: require("lout")
}, {
plugin: require('hapi-auth-cookie')
}, {
plugin: require("./plugins/togo")
}, {
plugin: require("./plugins/auth")
}], function(err) {
if (err) throw err;
server.auth.strategy('session', 'cookie', {
password: 'shhasecret',
cookie: 'wtfisthisfor',
isSecure: false,
redirectTo: false
});
server.start(function() {
console.log("hapi server started @ " + server.info.uri);
});
});
Und in meinem togo Plugin I haben diese Route Setup die Sitzung
exports.create = function(plugin) {
plugin.route({
method: 'POST',
path: '/togo/add',
handler: function(request, reply) {
produce = new Produce();
produce.label = request.payload.label;
produce.price = request.payload.price;
produce.uom = request.payload.uom;
produce.category = request.payload.category;
produce.save(function(err) {
if (!err) {
reply(produce).created('/togo/' + produce._id);
} else {
reply(err);
}
});
},
config: {
auth: 'session'
}
});
};
Der Fehler im Sehen ist diese zu verwenden:
/home/adam/Projects/bushhog/node_modules/hapi/node_modules/hoek/lib/index.js:421
throw new Error(msgs.join(' ') || 'Unknown error');
^
Error: Unknown authentication strategy: session in path: /togo/add
at Object.exports.assert (/home/adam/Projects/bushhog/node_modules/hapi/node_modules/hoek/lib/index.js:421:11)
at /home/adam/Projects/bushhog/node_modules/hapi/lib/auth.js:123:14
at Array.forEach (native)
at internals.Auth._setupRoute (/home/adam/Projects/bushhog/node_modules/hapi/lib/auth.js:121:24)
at new module.exports.internals.Route (/home/adam/Projects/bushhog/node_modules/hapi/lib/route.js:118:43)
at /home/adam/Projects/bushhog/node_modules/hapi/lib/router.js:110:25
at Array.forEach (native)
at /home/adam/Projects/bushhog/node_modules/hapi/lib/router.js:107:17
at Array.forEach (native)
at internals.Router.add (/home/adam/Projects/bushhog/node_modules/hapi/lib/router.js:104:13)
Laufknoten 0.10.28, hapijs 6.x, hapi-auth-Cookie 1.02
Sind Sie immer noch zur Zeit ein Problem vorliegt, dass die Abhängigkeit registrieren? Ich habe Ihr Repo in GitHub gefunden und es scheint gut zu funktionieren. – dylants
hi @ dylants Ich konnte das Problem umgehen, indem ich die Auth-Strategie im Plugin selbst registrierte und es funktioniert, aber ich bin nicht sicher, ob das der beste Weg ist. Ich muss immer sicherstellen, dass das Auth-Plugin zuerst geladen wird – battlemidget