Authored by ccbikai(👎🏻🍜)

微信登录优化

... ... @@ -117,8 +117,29 @@ const common = {
return next();
});
}
}
},
isLoginUser: (req, res, next) => {
// 微信里边已经登录的时候,不再跳转登录
if (req.user.uid) {
AuthHelper.profile(req.user.uid).then(function(result) {
if (result.code !== 200) {
return next();
}
let refer = req.query.refer || decodeURI(req.cookies.refer) || config.siteUrl;
if (/sign|login/.test(refer)) {
refer = `${config.siteUrl}/home`;
}
refer = utils.refererLimit(refer);
return res.redirect(refer);
}).catch(() => {
return next();
});
} else {
return next();
}
}
};
... ... @@ -280,19 +301,6 @@ const local = {
const wechat = {
login: (req, res, next) => {
// 微信里边已经登录的时候,不再跳转登录
// 与 5.6 的 session 有冲突
// if (req.user.uid) {
// let refer = req.query.refer || decodeURI(req.cookies.refer) || config.siteUrl;
// if (/sign|login/.test(refer)) {
// refer = `${config.siteUrl}/home`;
// }
// refer = utils.refererLimit(refer);
// return res.redirect(refer);
// }
// 设置为原链接标识originalUrl
req.session.originalUrl = 'true';
req.session.authState = uuid.v4();
... ...
... ... @@ -75,7 +75,7 @@ router.post('/passport/sms_login/password.json', smsLogin.password);
router.get('/passport/login/user', login.user);
// 微信登录
router.get('/passport/login/wechat', login.common.beforeLogin, login.wechat.login);
router.get('/passport/login/wechat', login.common.beforeLogin, login.common.isLoginUser, login.wechat.login);
router.get('/passport/login/wechat/callback', login.wechat.callback);
// sina登录
... ...