const path = require("path"); require("dotenv").config({ path: path.resolve( process.cwd(), `.env.${process.env.NODE_ENV || "development"}` ), }); const OAuthClient = require("intuit-oauth"); var Tokens = require("csrf"); const oauthClient = new OAuthClient({ clientId: process.env.QB_ONLINE_CLIENT_ID, clientSecret: process.env.QB_ONLINE_SECRET, environment: "sandbox", //process.env.NODE_ENV === "production" ? "production" : "sandbox", redirectUri: process.env.QB_ONLINE_REDIRECT_URI, }); exports.default = async (req, res) => { // Parse the redirect URL for authCode and exchange them for tokens const parseRedirect = req.url; const { code, state, realmId } = req.query; console.log("exports.default -> state", state); // Exchange the auth code retrieved from the **req.url** on the redirectUri oauthClient .createToken(parseRedirect) .then(function (authResponse) { console.log("The Token is " + JSON.stringify(authResponse.getJson())); const { access_token, refresh_token } = authResponse.getJson(); console.log("exports.default -> refresh_token", refresh_token); console.log("exports.default -> access_token", access_token); }) .catch(function (e) { console.error("The error message is :" + e.originalMessage); console.error(e.intuit_tid); }); };