모든 사용자를 인증하기 위해 MySQL 데이터베이스에 연결하는 코드가 있습니다.이 코드는 정상적으로 작동합니다. 내가 MySQL의에서 빈 배열을받을 때 문제가왜이 코드는 nodejs와 함께 실행되며 everyauth는 MySQL의 빈 배열로 충돌합니까?
var promise = this.Promise();
sql.getUserInfo(userInfo, function(user, err) {
if(err) return promise.fulfill([ err ]);
promise.fulfill(user);
});
return promise;
내가 가지고 ...
이 everyauth의 코드의 일부가 ... SQL은 수출 기능입니다 ... 그것은 nodejs 충돌이다 어떤 생각이 promise
인지 모르지만 그게 문제라고 생각하지 마십시오. 충돌 nodejs 때 이 콘솔에 오류가 :
starting step - extractLoginPassword
...finished step
starting step - authenticate
[]//--- it cames from mysql when there is no user and password
timers.js:96
if (!process.listeners('uncaughtException').length) throw e;
이것은 정보 DB를 호출하고 추출 보낸 된 함수 :
exports.getUserInfo = function(user, callback) {
var email = user.email;
var passwd = user.password;
var sql = "SELECT id_email, contrasena FROM usuarios.usuario WHERE id_email = ? AND contrasena = ? ";
var params = [email, passwd];
client.query(sql, params, function(err, rows) {
if (err) return callback(null, err);
if (rows && rows.length > 0) {
var user = rows[0];
callback(user,err);
}
everyauth s의 작동합니다 다소 예외적 인 경향이있다. auth의 일부가 시간 초과되면 앱이 상위 수준에서 예외를받습니다. 나는 [Passport] (http://passportjs.org/)로 이사했기 때문에 오히려 행복해졌습니다. – Ashe
는 내가 여권을 시도하고이 오류를 가지고 : 나는 같은 PARAM – andrescabana86
는 당신이'passport.serializeUser'와'passport.deserializeUser'를 사용하여 여권과 직렬화 함수를 등록 확인받을 때 세션 에 사용자를 직렬화하는 데 실패했습니다. 이 페이지 하단의 세부 정보 : http://passportjs.org/guide/configuration.html –