mirror of
https://github.com/usebruno/bruno.git
synced 2026-07-07 22:18:33 +00:00
feat(auth): akamai auth integration (#8199)
This commit is contained in:
@@ -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 || {};
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user