2022-01-22 08:16:24 -07:00
|
|
|
import express from 'express';
|
2022-03-20 17:59:37 -06:00
|
|
|
import log4js from 'log4js';
|
|
|
|
|
2022-01-22 08:16:24 -07:00
|
|
|
import { getURL, getToken } from '../../../controllers/authentication/oauth/google';
|
2022-03-23 18:00:25 -06:00
|
|
|
import { requireAuthenticated } from '../../../middlewares/authentication';
|
2022-01-22 08:16:24 -07:00
|
|
|
|
|
|
|
const router = express.Router();
|
2022-03-22 09:14:08 -06:00
|
|
|
const logger = log4js.getLogger();
|
2022-01-22 08:16:24 -07:00
|
|
|
|
|
|
|
router.get('/authentication/oauth/callback', async (req, res) => {
|
2022-03-21 17:38:56 -06:00
|
|
|
logger.info(req.query);
|
2022-01-22 08:16:24 -07:00
|
|
|
res.json(await getToken(req.query.code, req.query.scope));
|
|
|
|
});
|
|
|
|
|
|
|
|
router.get('/authentication/oauth/:provider', async (req, res) => {
|
|
|
|
const { provider } = req.params;
|
2022-03-21 17:38:56 -06:00
|
|
|
logger.info('provider', provider);
|
2022-01-22 08:16:24 -07:00
|
|
|
let url;
|
|
|
|
switch (provider) {
|
|
|
|
case 'google':
|
|
|
|
url = await getURL();
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
url = false;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (url) {
|
|
|
|
res.redirect(url);
|
|
|
|
} else {
|
|
|
|
res.json({ error: true, msg: 'Invalid provider' });
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2022-03-23 18:00:25 -06:00
|
|
|
router.get('/authentication/oauth/pair/:provider', requireAuthenticated, async (req, res) => {
|
2022-03-02 19:29:13 -07:00
|
|
|
res.status(200);
|
2022-01-22 08:16:24 -07:00
|
|
|
});
|
|
|
|
|
|
|
|
export default router;
|