diff --git a/lib/framework/request.js b/lib/framework/request.js index 34efac1..27f5a4a 100644 --- a/lib/framework/request.js +++ b/lib/framework/request.js @@ -137,6 +137,25 @@ const IncomingMessageExt = require('passport/lib/http/request') exports.create = function(ctx, userProperty) { const req = Object.create(ctx.request, properties) + // add dummy implementation of methods that passport 0.6.0 expects the request to have, if not present + // see issue https://github.com/jaredhanson/passport/issues/904 + if (!req.session.regenerate) { + Object.defineProperty(req.session, "regenerate", { + enumerable: true, + get: function() { + return (cb) => {cb()} + } + }) + } + if (!req.session.save) { + Object.defineProperty(req.session, "save", { + enumerable: true, + get: function() { + return (cb) => {cb()} + } + }) + } + Object.defineProperty(req, userProperty, { enumerable: true, get: function() {