Authored by htoooth

fix geetest

... ... @@ -56,7 +56,7 @@ const requiredAPI = (req, res, next) => {
validate: captcha[1],
seccode: captcha[2]
}, function(err, success) {
logger.info(`img captcha auth [${err ? 'fail' : 'success'}]`,
logger.info(`geetest captcha auth [${err ? 'fail' : 'success'}]`,
`CLIENT [${req.body.verifyCode}] SERVER [${err}]`);
if (err) {
... ... @@ -70,6 +70,7 @@ const requiredAPI = (req, res, next) => {
code: 401
});
} else {
req.session.captcha = verifyCode;
return next();
}
});
... ... @@ -92,6 +93,9 @@ const checkAPI = (req, res) => {
validate: captcha[1],
seccode: captcha[2]
}, function(err, success) {
logger.info(`geetest captcha auth [${err ? 'fail' : 'success'}]`,
`CLIENT [${req.body.verifyCode}] SERVER [${err}]`);
if (err) {
return res.send({
message: '网络失败',
... ... @@ -120,11 +124,18 @@ const requiredPage = (req, res, next) => {
return res.redirect(helpers.urlFormat('/passport/back/index'));
}
if (req.session.captcha === verifyCode) {
return next();
}
pcGeetest.validate({
challenge: captcha[0],
validate: captcha[1],
seccode: captcha[2]
}, function(err, success) {
logger.info(`geetest captcha auth [${err ? 'fail' : 'success'}]`,
`CLIENT [${req.body.verifyCode}] SERVER [${err}]`);
if (err) {
return res.redirect(helpers.urlFormat('/passport/back/index'));
} else if (!success) {
... ...