Authored by 毕凯

微信登录开发

... ... @@ -56,11 +56,13 @@ function doPassportCallback(req, res, next, user) {
} else if (result.code === 200 && result.data.uid) {
return AuthHelper.syncUserSession(result.data.uid, req, res).then(() => {
return refer;
});
}).catch(next);
}
}).then((redirectTo) => {
return res.redirect(redirectTo);
}).catch(next);
res.redirect(redirectTo);
}).catch(() => {
res.redirect(loginPage);
});
} else {
res.redirect(loginPage);
}
... ...
... ... @@ -11,9 +11,8 @@ class Auth {
let param = {
nickname: nickname,
openId: openId,
source_type: sourceType, // esline-disable-line
method: 'app.passport.signinByOpenID',
shoppingKey: shoppingKey
source_type: sourceType,
method: 'app.passport.signinByOpenID'
};
if (shoppingKey) {
... ... @@ -25,12 +24,11 @@ class Auth {
static signinByWechat(nickname, openId, unionId, sourceType, shoppingKey) {
let param = {
// nickname: nickname,
nickname: nickname,
openId: openId,
unionId: unionId,
source_type: sourceType,
method: 'app.passport.signinByWechat',
shoppingKey: shoppingKey
method: 'app.passport.signinByWechat'
};
if (shoppingKey) {
... ... @@ -61,12 +59,12 @@ class Auth {
domain: 'yohobuy.com'
});
}
req.session._TOKEN = token; // esline-disable-line
req.session._LOGIN_UID = uid; // esline-disable-line
req.session._TOKEN = token;
req.session._LOGIN_UID = uid;
res.cookie('_TOKEN', token, {
domain: 'yohobuy.com'
}); // esline-disable-line
}).catch(console.log);
});
});
}
}
... ...
... ... @@ -12,7 +12,7 @@ const login = require(cRoot + '/login');
const router = express.Router(); // eslint-disable-line
router.get('/login/wechat', login.wechat.beforeLogin, login.wechat.login); // 登录
router.get('/autosign/wechat', login.wechat.beforeLogin, login.wechat.login); // 微信登录, 兼容 PHP 的路径
router.get('/login/wechat/callback', login.wechat.callback);
module.exports = router;
... ...
... ... @@ -13,8 +13,8 @@ module.exports = {
port: 6002,
siteUrl: 'http://www.yohobuy.com',
domains: {
api: 'http://172.16.6.157:8080/gateway/', // devapi.yoho.cn:58078 testapi.yoho.cn:28078 devapi.yoho.cn:58078
service: 'http://testservice.yoho.cn:28077/', // testservice.yoho.cn:28077 devservice.yoho.cn:58077
api: 'http://devapi.yoho.cn:58078/', // devapi.yoho.cn:58078 testapi.yoho.cn:28078 devapi.yoho.cn:58078
service: 'http://devservice.yoho.cn:28077/', // testservice.yoho.cn:28077 devservice.yoho.cn:58077
search: 'http://192.168.102.216:8080/yohosearch/'
},
useOneapm: false,
... ...
... ... @@ -63,7 +63,7 @@ exports.apiSign = (params) => {
/* eslint-enable */
sign = Object.assign(sign, {
client_secret: makeSign(sign) // eslint-disable-line camelcase
client_secret: makeSign(sign)
});
delete sign.private_key;
return sign;
... ... @@ -71,8 +71,7 @@ exports.apiSign = (params) => {
// 检查签名,APP 访问 H5 页面的时候需要检查
exports.checkSign = (params) => {
const // eslint-disable-line camelcase
clientSecret = params.client_secret;
const clientSecret = params.client_secret;
let sortedParams;
... ... @@ -82,7 +81,7 @@ exports.checkSign = (params) => {
delete params.debug_data;
delete params['/api'];
params.private_key = privateKey[params.client_type]; // eslint-disable-line camelcase
params.private_key = privateKey[params.client_type];
sortedParams = packageSort(params);
return clientSecret === makeSign(sortedParams);
... ...