backend: fixed error fallback on iframe/vk

This commit is contained in:
muerwre 2018-12-10 17:01:11 +07:00
parent 75505656df
commit 71a0aed9aa

View file

@ -4,14 +4,18 @@ const md5 = require('js-md5');
const { generateRandomUrl } = require('../guest');
module.exports = async (req, res) => {
if (!CONFIG.SOCIAL.VK_IFRAME.ENABLED) return res.send({ success: false, error: 'Unsupported Method' });
const { query: { viewer_id, auth_key } } = req;
const checksum = md5(`${CONFIG.SOCIAL.VK_IFRAME.APP_ID}_${viewer_id}_${CONFIG.SOCIAL.VK_IFRAME.SECRET}`);
if (checksum !== auth_key) return res.send({ success: false, error: 'cant login or no such user' });
if (checksum !== auth_key) return res.send({ success: false, error: 'No such user (1)' });
const user = await User.findOne({ _id: `vk:${viewer_id}` }).populate('routes');
if (!user) return res.send({ success: false, error: 'No such user (2)' });
const random_url = await generateRandomUrl();
return res.send({ success: true, user: { ...user.toObject(), id: user._id, random_url } });
};