First cut - add subroutes
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import express from 'express';
|
||||
import Router from 'express-promise-router';
|
||||
|
||||
export const router = Router();
|
||||
router.get('/', async (_req: express.Request, res: express.Response) => {
|
||||
res.send('initiate auth');
|
||||
});
|
||||
|
||||
router.get('/login', async (_req: express.Request, res: express.Response) => {
|
||||
res.send('github provider login');
|
||||
});
|
||||
|
||||
router.get('/logout', async (_req: express.Request, res: express.Response) => {
|
||||
res.send('github provider logout');
|
||||
});
|
||||
|
||||
router.get(
|
||||
'/handler/frame',
|
||||
async (req: express.Request, res: express.Response) => {
|
||||
res.send('github provider frame response handler');
|
||||
},
|
||||
);
|
||||
@@ -0,0 +1,22 @@
|
||||
import express from 'express';
|
||||
import Router from 'express-promise-router';
|
||||
|
||||
export const router = Router();
|
||||
router.get('/', async (_req: express.Request, res: express.Response) => {
|
||||
res.send('initiate auth');
|
||||
});
|
||||
|
||||
router.get('/login', async (_req: express.Request, res: express.Response) => {
|
||||
res.send('google provider login');
|
||||
});
|
||||
|
||||
router.get('/logout', async (_req: express.Request, res: express.Response) => {
|
||||
res.send('google provider logout');
|
||||
});
|
||||
|
||||
router.get(
|
||||
'/handler/frame',
|
||||
async (req: express.Request, res: express.Response) => {
|
||||
res.send('google provider frame response handler');
|
||||
},
|
||||
);
|
||||
@@ -17,6 +17,8 @@
|
||||
import express from 'express';
|
||||
import Router from 'express-promise-router';
|
||||
import { Logger } from 'winston';
|
||||
import { router as googleAuthRouter } from './../providers/google/router';
|
||||
import { router as githubAuthRouter } from './../providers/google/router';
|
||||
|
||||
export interface RouterOptions {
|
||||
logger: Logger;
|
||||
@@ -32,9 +34,26 @@ export async function createRouter(
|
||||
res.status(200).send('pong');
|
||||
});
|
||||
|
||||
router.use('/:provider', authProviderSwitcher);
|
||||
|
||||
const app = express();
|
||||
app.set('logger', logger);
|
||||
app.use(router);
|
||||
|
||||
return app;
|
||||
}
|
||||
|
||||
const authProviderSwitcher = async (
|
||||
req: express.Request,
|
||||
res: express.Response,
|
||||
next: express.NextFunction,
|
||||
) => {
|
||||
const provider = req.params.provider;
|
||||
if (provider === 'google') {
|
||||
return googleAuthRouter(req, res, next);
|
||||
} else if (provider === 'github') {
|
||||
return githubAuthRouter(req, res, next);
|
||||
} else {
|
||||
res.send('No such provider');
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user