fix(passport/login): Use middleware instead of bootscript
prototype overwrite doesn't seem have any effect
This commit is contained in:
committed by
mrugesh mohapatra
parent
894a309723
commit
13b7eac16f
6
package-lock.json
generated
6
package-lock.json
generated
@ -12726,9 +12726,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"passport": {
|
"passport": {
|
||||||
"version": "0.2.2",
|
"version": "0.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/passport/-/passport-0.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/passport/-/passport-0.4.0.tgz",
|
||||||
"integrity": "sha1-nDjxe+uSnz2Br3uIOOhDDbhwPys=",
|
"integrity": "sha1-xQlWkTR71a07XhgCOMORTRbwWBE=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"passport-strategy": "1.0.0",
|
"passport-strategy": "1.0.0",
|
||||||
"pause": "0.0.1"
|
"pause": "0.0.1"
|
||||||
|
@ -95,7 +95,7 @@
|
|||||||
"normalizr": "2.2.1",
|
"normalizr": "2.2.1",
|
||||||
"object.assign": "^4.0.3",
|
"object.assign": "^4.0.3",
|
||||||
"opbeat": "^4.14.0",
|
"opbeat": "^4.14.0",
|
||||||
"passport": "^0.2.1",
|
"passport": "^0.4.0",
|
||||||
"passport-facebook": "^2.0.0",
|
"passport-facebook": "^2.0.0",
|
||||||
"passport-github": "^1.0.0",
|
"passport-github": "^1.0.0",
|
||||||
"passport-google-oauth2": "~0.1.6",
|
"passport-google-oauth2": "~0.1.6",
|
||||||
|
@ -56,7 +56,8 @@
|
|||||||
"./middlewares/jade-helpers": {},
|
"./middlewares/jade-helpers": {},
|
||||||
"./middlewares/migrate-completed-challenges": {},
|
"./middlewares/migrate-completed-challenges": {},
|
||||||
"./middlewares/add-lang": {},
|
"./middlewares/add-lang": {},
|
||||||
"./middlewares/flash-cheaters": {}
|
"./middlewares/flash-cheaters": {},
|
||||||
|
"./middlewares/passport-login": {}
|
||||||
},
|
},
|
||||||
"files": {},
|
"files": {},
|
||||||
"final:after": {
|
"final:after": {
|
||||||
|
@ -64,6 +64,10 @@ export default function prodErrorHandler() {
|
|||||||
const message = handled.message ||
|
const message = handled.message ||
|
||||||
'Oops! Something went wrong. Please try again later';
|
'Oops! Something went wrong. Please try again later';
|
||||||
|
|
||||||
|
if (isDev) {
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
|
|
||||||
if (type === 'html') {
|
if (type === 'html') {
|
||||||
if (isDev) {
|
if (isDev) {
|
||||||
return res.render(
|
return res.render(
|
||||||
|
@ -8,7 +8,7 @@ import {
|
|||||||
|
|
||||||
const log = debug('fcc:middlewares:error-reporter');
|
const log = debug('fcc:middlewares:error-reporter');
|
||||||
|
|
||||||
export default function keymetrics() {
|
export default function errorHandler() {
|
||||||
if (process.env.NODE_ENV !== 'production') {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
return (err, req, res, next) => {
|
return (err, req, res, next) => {
|
||||||
if (isHandledError(err)) {
|
if (isHandledError(err)) {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import http from 'http';
|
|
||||||
import { Observable } from 'rx';
|
import { Observable } from 'rx';
|
||||||
import { login } from 'passport/lib/http/request';
|
import { login } from 'passport/lib/http/request';
|
||||||
|
|
||||||
@ -8,14 +7,15 @@ import { login } from 'passport/lib/http/request';
|
|||||||
// if called without callback it returns an observable
|
// if called without callback it returns an observable
|
||||||
// login(user, options?, cb?) => Void|Observable
|
// login(user, options?, cb?) => Void|Observable
|
||||||
function login$(...args) {
|
function login$(...args) {
|
||||||
|
console.log('args');
|
||||||
if (_.isFunction(_.last(args))) {
|
if (_.isFunction(_.last(args))) {
|
||||||
return login.apply(this, args);
|
return login.apply(this, args);
|
||||||
}
|
}
|
||||||
return Observable.fromNodeCallback(login).apply(this, args);
|
return Observable.fromNodeCallback(login).apply(this, args);
|
||||||
}
|
}
|
||||||
|
export default function passportLogin() {
|
||||||
module.exports = function extendRequest() {
|
return (req, res, next) => {
|
||||||
// see: jaredhanson/passport/blob/master/lib/framework/connect.js#L33
|
req.login = req.logIn = login$;
|
||||||
http.IncomingMessage.prototype.login = login$;
|
next();
|
||||||
http.IncomingMessage.prototype.logIn = login$;
|
};
|
||||||
};
|
}
|
Reference in New Issue
Block a user