import { Request, Response, Router } from "express" import Stacker from "../middlewares/stacker"; import { GetClientAuthMiddleware } from "../middlewares/client"; import { GetUserMiddleware } from "../middlewares/user"; import { createJWT } from "../../keys"; const ClientRouter = Router(); /** * @api {get} /client/user * @apiName ClientUser * * @apiGroup client * @apiPermission user_client Requires ClientID and Authenticated User * * @apiParam {String} redirect_uri URL to redirect to on success */ ClientRouter.get("/user", Stacker(GetClientAuthMiddleware(false), GetUserMiddleware(true, false), async (req: Request, res: Response) => { let jwt = await createJWT({ client: req.client.client_id, uid: req.user.uid, username: req.user.username }, 30); //after 30 seconds this token is invalid res.redirect(req.query.redirect_uri + "?jwt=" + jwt) })); export default ClientRouter;