diff --git a/lib/modules/openid.js b/lib/modules/openid.js index 6f083fd8..e117c8ef 100644 --- a/lib/modules/openid.js +++ b/lib/modules/openid.js @@ -50,11 +50,16 @@ everyModule.submodule('openid') if (!this._myHostname || this._alwaysDetectHostname) { this.myHostname(extractHostname(req)); } + + var p = this.Promise(); - this.relyingParty.authenticate(req.query[this.openidURLField()], false, function(err,authenticationUrl){ + this.relyingParty.authenticate(req.query[this.openidURLField()], false, (function(err,authenticationUrl){ if(err) return p.fail(err); this.redirect(res, authenticationUrl); - }); + }).bind(this)); + + p.fulfill(); + return p; }) .getSession( function(req) { return req.session;