feat(auth): akamai auth integration (#8199)

This commit is contained in:
shubh-bruno
2026-07-03 13:31:28 +05:30
committed by GitHub
parent 876a4c4cd3
commit efd61bf682
58 changed files with 2782 additions and 30 deletions

View File

@@ -94,6 +94,19 @@ const prepareRequest = async (item = {}, collection = {}) => {
};
}
if (collectionAuth.mode === 'akamai-edgegrid') {
axiosRequest.edgeGridConfig = {
accessToken: get(collectionAuth, 'akamaiEdgegrid.accessToken'),
clientToken: get(collectionAuth, 'akamaiEdgegrid.clientToken'),
clientSecret: get(collectionAuth, 'akamaiEdgegrid.clientSecret'),
nonce: get(collectionAuth, 'akamaiEdgegrid.nonce'),
timestamp: get(collectionAuth, 'akamaiEdgegrid.timestamp'),
baseURL: get(collectionAuth, 'akamaiEdgegrid.baseURL'),
headersToSign: get(collectionAuth, 'akamaiEdgegrid.headersToSign'),
maxBodySize: get(collectionAuth, 'akamaiEdgegrid.maxBodySize')
};
}
if (collectionAuth.mode === 'oauth2') {
const grantType = get(collectionAuth, 'oauth2.grantType');
@@ -329,6 +342,19 @@ const prepareRequest = async (item = {}, collection = {}) => {
}
}
}
if (request.auth.mode === 'akamai-edgegrid') {
axiosRequest.edgeGridConfig = {
accessToken: get(request, 'auth.akamaiEdgegrid.accessToken'),
clientToken: get(request, 'auth.akamaiEdgegrid.clientToken'),
clientSecret: get(request, 'auth.akamaiEdgegrid.clientSecret'),
nonce: get(request, 'auth.akamaiEdgegrid.nonce'),
timestamp: get(request, 'auth.akamaiEdgegrid.timestamp'),
baseURL: get(request, 'auth.akamaiEdgegrid.baseURL'),
headersToSign: get(request, 'auth.akamaiEdgegrid.headersToSign'),
maxBodySize: get(request, 'auth.akamaiEdgegrid.maxBodySize')
};
}
}
request.body = request.body || {};

View File

@@ -18,7 +18,7 @@ const { parseDataFromResponse } = require('../utils/common');
const { getCookieStringForUrl, saveCookies } = require('../utils/cookies');
const { createFormData } = require('../utils/form-data');
const { NtlmClient } = require('axios-ntlm');
const { addDigestInterceptor, getHttpHttpsAgents, makeAxiosInstance: makeAxiosInstanceForOauth2, applyOAuth1ToRequest } = require('@usebruno/requests');
const { addDigestInterceptor, addEdgeGridInterceptor, getHttpHttpsAgents, makeAxiosInstance: makeAxiosInstanceForOauth2, applyOAuth1ToRequest } = require('@usebruno/requests');
const { getCACertificates, transformProxyConfig } = require('@usebruno/requests');
const { getOAuth2Token, getFormattedOauth2Credentials } = require('../utils/oauth2');
const tokenStore = require('../store/tokenStore');
@@ -692,6 +692,11 @@ const runSingleRequest = async function (
delete request.digestConfig;
}
if (request.edgeGridConfig) {
addEdgeGridInterceptor(axiosInstance, request);
delete request.edgeGridConfig;
}
/** @type {import('axios').AxiosResponse} */
response = await axiosInstance(request);