auth.ts 854 B

12345678910111213141516171819202122232425262728
  1. import { Request as ExpressRequest, Response as ExpressResponse } from "express";
  2. import { OAuth2 } from "src/utils/util";
  3. import { ENVIRONMENT } from "src/utils/environment";
  4. import { logger } from "src/utils/logging";
  5. interface CodeResponse {
  6. code?: string;
  7. }
  8. export const get = async (req: ExpressRequest, res: ExpressResponse): Promise<void> => {
  9. const data = req.query as CodeResponse;
  10. if (!data.code) {
  11. res.redirect("/");
  12. return;
  13. }
  14. const result = await OAuth2.getToken({
  15. client_id: ENVIRONMENT.clientId,
  16. client_secret: ENVIRONMENT.clientSecret,
  17. grant_type: "authorization_code",
  18. code: data.code,
  19. scope: "identify",
  20. redirect_uri: ENVIRONMENT.redirectUrl,
  21. });
  22. if (result.ok) {
  23. logger.info("Got result: %s", result);
  24. }
  25. res.redirect("/");
  26. };