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

@@ -15,7 +15,7 @@ const { encodeUrl, hasExplicitScheme } = require('@usebruno/common').utils;
const { extractPromptVariables } = require('@usebruno/common').utils;
const { interpolateString } = require('./interpolate-string');
const { resolveAwsV4Credentials, addAwsV4Interceptor } = require('./awsv4auth-helper');
const { addDigestInterceptor } = require('@usebruno/requests');
const { addDigestInterceptor, addEdgeGridInterceptor } = require('@usebruno/requests');
const prepareGqlIntrospectionRequest = require('./prepare-gql-introspection-request');
const { prepareRequest } = require('./prepare-request');
const interpolateVars = require('./interpolate-vars');
@@ -315,6 +315,11 @@ const configureRequest = async (
addDigestInterceptor(axiosInstance, request);
}
if (request.edgeGridConfig) {
addEdgeGridInterceptor(axiosInstance, request);
delete request.edgeGridConfig;
}
// Get timeout from request settings, fallback to global preference
const resolvedSettings = resolveInheritedSettings(request.settings || {});
request.timeout = resolvedSettings.timeout;

View File

@@ -91,6 +91,18 @@ const setAuthHeaders = (axiosRequest, request, collectionRoot) => {
axiosRequest.apiKeyAuthValueForQueryParams = apiKeyAuth;
}
break;
case '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')
};
break;
case 'oauth2':
const grantType = get(collectionAuth, 'oauth2.grantType');
switch (grantType) {
@@ -345,6 +357,18 @@ const setAuthHeaders = (axiosRequest, request, collectionRoot) => {
axiosRequest.apiKeyAuthValueForQueryParams = apiKeyAuth;
}
break;
case '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')
};
break;
}
}