const { execSync } = require("child_process"); const getIDToken = async () => { return new Promise((resolve, reject) => { try { try { const token = execSync("gitpod idp token --audience accounts.google.com", { encoding: "utf8" }).trim(); resolve(token); } catch (error) { reject(new Error("Error getting token: " + error.message)); } } catch (e) { reject(new Error(e.message)); } }); }; (async () => { try { const token = await getIDToken(); console.log( JSON.stringify({ version: 1, success: true, token_type: "urn:ietf:params:oauth:token-type:id_token", id_token: token, }), ); } catch (error) { console.log( JSON.stringify({ version: 1, success: false, code: "401", message: error.message, }), ); } })();