const getOAuthUser = function()

in src/msha/auth/routes/auth-login-provider-callback.ts [216:256]


const getOAuthUser = function (authProvider: string, accessToken: string) {
  // Facebook does not have an OIDC introspection so we need to manually decode the token :(
  if (authProvider === "facebook") {
    return jwtDecode(accessToken);
  } else {
    const options = {
      host: CUSTOM_AUTH_USER_ENDPOINT_MAPPING?.[authProvider]?.host,
      path: CUSTOM_AUTH_USER_ENDPOINT_MAPPING?.[authProvider]?.path,
      method: "GET",
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "User-Agent": "Azure Static Web Apps Emulator",
      },
    };

    return new Promise((resolve, reject) => {
      const req = https.request(options, (res) => {
        res.setEncoding("utf8");
        let responseBody = "";

        res.on("data", (chunk) => {
          responseBody += chunk;
        });

        res.on("end", () => {
          try {
            resolve(JSON.parse(responseBody));
          } catch (err) {
            reject(err);
          }
        });
      });

      req.on("error", (err) => {
        reject(err);
      });

      req.end();
    });
  }
};