mirror of
https://github.com/muerwre/orchidmap-front.git
synced 2025-04-25 11:06:40 +07:00
auth: login through vk iframe
This commit is contained in:
parent
28dc2bec8b
commit
75505656df
6 changed files with 39 additions and 7 deletions
18
backend/routes/auth/iframe/vk.js
Normal file
18
backend/routes/auth/iframe/vk.js
Normal file
|
@ -0,0 +1,18 @@
|
|||
const { User } = require('../../../models');
|
||||
const { CONFIG } = require('../../../../config/backend');
|
||||
const md5 = require('js-md5');
|
||||
const { generateRandomUrl } = require('../guest');
|
||||
|
||||
module.exports = async (req, res) => {
|
||||
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' });
|
||||
|
||||
const user = await User.findOne({ _id: `vk:${viewer_id}` }).populate('routes');
|
||||
|
||||
const random_url = await generateRandomUrl();
|
||||
return res.send({ success: true, user: { ...user.toObject(), id: user._id, random_url } });
|
||||
};
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue