Enhance encryption security with additional safeguards.

This commit is contained in:
glay 2024-12-09 00:03:10 +08:00
parent 93337b2b92
commit a0886875e1

View File

@ -51,11 +51,6 @@ async function getBedrockHeaders(
shouldStream: boolean, shouldStream: boolean,
): Promise<Record<string, string>> { ): Promise<Record<string, string>> {
const accessStore = useAccessStore.getState(); const accessStore = useAccessStore.getState();
// Validate credentials
if (!accessStore.awsAccessKey || !accessStore.awsSecretKey || !accessStore.awsRegion) {
throw new Error("Missing required AWS credentials");
}
const bedrockHeaders = isApp const bedrockHeaders = isApp
? await sign({ ? await sign({
method: "POST", method: "POST",
@ -71,24 +66,19 @@ async function getBedrockHeaders(
: getHeaders(); : getHeaders();
if (!isApp) { if (!isApp) {
const { awsRegion, awsAccessKey, awsSecretKey, encryptionKey } = accessStore; const { awsRegion, awsAccessKey, awsSecretKey, encryptionKey } =
if (!encryptionKey) { accessStore;
throw new Error("Missing encryption key");
}
const bedrockHeadersConfig = { const bedrockHeadersConfig = {
XModelID: modelId, XModelID: modelId,
XEncryptionKey: encryptionKey, XEncryptionKey: encryptionKey,
ShouldStream: String(shouldStream), ShouldStream: String(shouldStream),
Authorization: await createAuthHeader({ Authorization: await createAuthHeader(
region: awsRegion, awsRegion,
accessKey: awsAccessKey, awsAccessKey,
secretKey: awsSecretKey, awsSecretKey,
encryptionKey, encryptionKey,
}).catch(error => { ),
console.error("[Bedrock] Failed to create auth header:", error);
throw new Error("Failed to create authorization header");
}),
}; };
Object.assign(bedrockHeaders, bedrockHeadersConfig); Object.assign(bedrockHeaders, bedrockHeadersConfig);