48 lines
1.2 KiB
JavaScript
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"
|
|
});
|
|
}
|
|
}
|