auth.ts 793 B

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