Files
pedwfrontend/pages/api/endpoint/getToken.js
T

48 lines
1.2 KiB
JavaScript

/**
* @swagger
* /api/endpoint/getToken:
* post:
* tags: [Login]
* summary: Not used
* description: Get case
* parameters:
* - name: client_id
* in: requestbody
* responses:
* 200:
* description: Success
*/
import axios from "axios";
import { respondError, respondSuccess } from "../middleware/apiResponse";
export default async function ApiProxy(req, res) {
try {
const accessTokenEndpoint = process.env.ACCESS_TOKEN_ENDPOINT;
const tenantId = process.env.TENANT;
const tokenBody =
"grant_type=" +
process.env.GRANT_TYPE +
"&client_id=" +
process.env.CLIENT_ID +
"&client_secret=" +
process.env.CLIENT_SECRET +
"&scope=" +
"https://" +
process.env.RELAYURI +
"/.default";
const { data } = await axios.post(
`${accessTokenEndpoint}${tenantId}/oauth2/v2.0/token`,
tokenBody
);
return respondSuccess(res, data);
} catch (error) {
return respondError(res, {
status: 400,
code: "TOKEN_FETCH_FAILED",
message: "Unable to fetch token"
});
}
}