const { loadEnvFromFile } = require("../secrets"); loadEnvFromFile(); const authroot = process.env.MW_OAUTH_ROOT; const authorize = `${authroot}/oauth2/authorize`; const token = `${authroot}/oauth2/access_token`; const profileurl = `${authroot}/oauth2/resource/profile`; const axios = require("axios"); function getRedirectUrl(oauthState) { let callback = encodeURIComponent(process.env.MW_OAUTH_CALLBACK); let str = `client_id=${process.env.MW_OAUTH_CLIENT_ID}&response_type=code&request_url=${callback}&state=${oauthState}`; return `${authorize}?${str}`; } /** * Gets an OAuth2 access token from specific server * @param {"string"} respCode * @param {"string"} oauthState * @returns */ function getToken(respCode, oauthState) { const oauthResult = axios(token, { method: "post", params: { grant_type: "authorization_code", client_id: process.env.MW_OAUTH_CLIENT_ID, client_secret: process.env.MW_OAUTH_CLIENT_SECRET, redirect_url: process.env.MW_OAUTH_CALLBACK, code: respCode, state: oauthState, }, }); console.log(oauthResult); return oauthResult; } function getMe(token) { // } module.exports = { getRedirectUrl, getToken, getMe, };