Authored by 姜枫

fix wechat login bug

... ... @@ -27,18 +27,20 @@ function doPassportCallback(openId, nickname, req, res) {
if (openId && nickname) {
AuthHelper.signinByOpenID(nickname, openId, 'wechat', shoppingKey).then((result) => {
if (result.data['is_bind'] && result.data['is_bind'] === 'N') { //eslint-disable-line
res.redirect(helpers.urlFormat('/passport/bind/index', {
return helpers.urlFormat('/passport/bind/index', {
openId: openId,
sourceType: 'wechat'
}));
});
} else if (result.code === 200 && result.data.uid) {
return AuthHelper.syncUserSession(result.data.uid, res);
return AuthHelper.syncUserSession(result.data.uid, res).then(() => {
return refer;
});
}
}).then(() => {
res.redirect(refer);
}).then((redirectTo) => {
return res.redirect(redirectTo);
}).catch((e) => {
log.error('频道页面渲染错误:' + JSON.stringify(e));
res.send('error');
return res.send('error');
});
}
}
... ... @@ -58,7 +60,6 @@ const wechat = {
if (err) {
return next(err);
}
console.log(user);
let nickname = user.displayName || user._json.nickname;
let openId = user.id || user._json.unionid;
... ... @@ -67,4 +68,4 @@ const wechat = {
}
};
exports.wechat = wechat;
exports.wechat = wechat;
\ No newline at end of file
... ...
... ... @@ -12,7 +12,8 @@ class Auth {
nickname: nickname,
openId: openId,
source_type: sourceType, // esline-disable-line
method: 'app.passport.signinByOpenID'
method: 'app.passport.signinByOpenID',
shoppingKey: shoppingKey
};
if (shoppingKey) {
... ...
... ... @@ -30,4 +30,4 @@ app.engine('.hbs', hbs({
// router
app.use(require('./router'));
module.exports = app;
\ No newline at end of file
module.exports = app;
... ...
... ... @@ -26,4 +26,4 @@ exports.getUid = (req) => {
exports.getShoppingKey = (req) => {
return req.cookies['_SPK'] ? req.cookies['_SPK'] : ''; // eslint-disable-line
};
\ No newline at end of file
};
... ...
... ... @@ -12,13 +12,13 @@ const FileTransport = require('winston-daily-rotate-file');
require('influxdb-winston');
const logger = new(winston.Logger)({
// transports: [
// new(FileTransport)(config.loggers.infoFile),
// new(FileTransport)(config.loggers.errorFile),
// new(winston.transports.UdpTransport)(config.loggers.udp),
// new(winston.transports.Console)(config.loggers.console)
// ],
// exitOnError: false
transports: [
new(FileTransport)(config.loggers.infoFile),
new(FileTransport)(config.loggers.errorFile),
new(winston.transports.UdpTransport)(config.loggers.udp),
new(winston.transports.Console)(config.loggers.console)
],
exitOnError: false
});
module.exports = logger;
\ No newline at end of file
module.exports = logger;
... ...
... ... @@ -97,4 +97,4 @@ exports.webSign = (params) => {
exports.makeToken = (string) => {
return md5(md5(string + '#@!@#'));
};
\ No newline at end of file
};
... ...