implemented blockLocalAndPrivateIpAddresses

This commit is contained in:
x
2025-04-24 23:53:20 -04:00
parent a5b5b90ca1
commit 3f00359459
2 changed files with 15 additions and 6 deletions

View File

@@ -3,6 +3,7 @@ import { AxiosError } from "axios";
import { request } from "@app/lib/config/request";
import { BadRequestError } from "@app/lib/errors";
import { removeTrailingSlash } from "@app/lib/fn";
import { blockLocalAndPrivateIpAddresses } from "@app/lib/validator";
import { AppConnection } from "@app/services/app-connection/app-connection-enums";
import { HCVaultConnectionMethod } from "./hc-vault-connection-enums";
@@ -13,6 +14,14 @@ import {
TValidateHCVaultConnectionCredentials
} from "./hc-vault-connection-types";
export const getHCVaultInstanceUrl = async (config: THCVaultConnectionConfig) => {
const instanceUrl = removeTrailingSlash(config.credentials.instanceUrl);
await blockLocalAndPrivateIpAddresses(instanceUrl);
return instanceUrl;
};
export const getHCVaultConnectionListItem = () => ({
name: "HCVault" as const,
app: AppConnection.HCVault as const,
@@ -58,7 +67,7 @@ export const getHCVaultAccessToken = async (connection: TValidateHCVaultConnecti
};
export const validateHCVaultConnectionCredentials = async (config: THCVaultConnectionConfig) => {
const instanceUrl = removeTrailingSlash(config.credentials.instanceUrl);
const instanceUrl = await getHCVaultInstanceUrl(config);
try {
const accessToken = await getHCVaultAccessToken(config);
@@ -82,7 +91,7 @@ export const validateHCVaultConnectionCredentials = async (config: THCVaultConne
};
export const listHCVaultMounts = async (appConnection: THCVaultConnection) => {
const instanceUrl = removeTrailingSlash(appConnection.credentials.instanceUrl);
const instanceUrl = await getHCVaultInstanceUrl(appConnection);
const accessToken = await getHCVaultAccessToken(appConnection);
const { data } = await request.get<THCVaultMountResponse>(`${instanceUrl}/v1/sys/mounts`, {

View File

@@ -1,6 +1,6 @@
import { request } from "@app/lib/config/request";
import { removeTrailingSlash } from "@app/lib/fn";
import { getHCVaultAccessToken } from "@app/services/app-connection/hc-vault";
import { getHCVaultAccessToken, getHCVaultInstanceUrl } from "@app/services/app-connection/hc-vault";
import {
THCVaultListVariables,
THCVaultListVariablesResponse,
@@ -47,7 +47,7 @@ export const HCVaultSyncFns = {
} = secretSync;
const accessToken = await getHCVaultAccessToken(connection);
const { instanceUrl } = connection.credentials;
const instanceUrl = await getHCVaultInstanceUrl(connection);
const variables = await listHCVaultVariables({ instanceUrl, accessToken, mount, path });
let tainted = false;
@@ -87,7 +87,7 @@ export const HCVaultSyncFns = {
} = secretSync;
const accessToken = await getHCVaultAccessToken(connection);
const { instanceUrl } = connection.credentials;
const instanceUrl = await getHCVaultInstanceUrl(connection);
const variables = await listHCVaultVariables({ instanceUrl, accessToken, mount, path });
@@ -112,7 +112,7 @@ export const HCVaultSyncFns = {
} = secretSync;
const accessToken = await getHCVaultAccessToken(connection);
const { instanceUrl } = connection.credentials;
const instanceUrl = await getHCVaultInstanceUrl(connection);
const variables = await listHCVaultVariables({
instanceUrl,