mirror of
https://github.com/strapi/strapi.git
synced 2025-11-07 21:58:23 +00:00
Merge pull request #18733 from strapi/fix/aws-mandatory-credentials
This commit is contained in:
commit
50a6ed6e3b
@ -16,7 +16,7 @@ const defaultOptions = {
|
|||||||
|
|
||||||
describe('Utils', () => {
|
describe('Utils', () => {
|
||||||
describe('Extract credentials for V4 different aws provider configurations', () => {
|
describe('Extract credentials for V4 different aws provider configurations', () => {
|
||||||
test('[Legacy] Credentials directly in the options', async () => {
|
test('[Legacy] Credentials directly in the options', () => {
|
||||||
const options: InitOptions = {
|
const options: InitOptions = {
|
||||||
accessKeyId,
|
accessKeyId,
|
||||||
secretAccessKey,
|
secretAccessKey,
|
||||||
@ -30,7 +30,7 @@ describe('Utils', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('[Legacy] credentials directly in s3Options', async () => {
|
test('[Legacy] credentials directly in s3Options', () => {
|
||||||
const options: InitOptions = {
|
const options: InitOptions = {
|
||||||
s3Options: {
|
s3Options: {
|
||||||
accessKeyId,
|
accessKeyId,
|
||||||
@ -46,7 +46,7 @@ describe('Utils', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Credentials in credentials object inside s3Options', async () => {
|
test('Credentials in credentials object inside s3Options', () => {
|
||||||
const options: InitOptions = {
|
const options: InitOptions = {
|
||||||
s3Options: {
|
s3Options: {
|
||||||
credentials: {
|
credentials: {
|
||||||
@ -63,5 +63,15 @@ describe('Utils', () => {
|
|||||||
secretAccessKey,
|
secretAccessKey,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
test('Does not throw an error when credentials are not present', () => {
|
||||||
|
const options: InitOptions = {
|
||||||
|
s3Options: {
|
||||||
|
...defaultOptions,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const credentials = extractCredentials(options);
|
||||||
|
|
||||||
|
expect(credentials).toEqual(null);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -76,11 +76,11 @@ const getConfig = ({ baseUrl, rootPath, s3Options, ...legacyS3Options }: InitOpt
|
|||||||
"S3 configuration options passed at root level of the plugin's providerOptions is deprecated and will be removed in a future release. Please wrap them inside the 's3Options:{}' property."
|
"S3 configuration options passed at root level of the plugin's providerOptions is deprecated and will be removed in a future release. Please wrap them inside the 's3Options:{}' property."
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
const credentials = extractCredentials({ s3Options, ...legacyS3Options });
|
||||||
const config = {
|
const config = {
|
||||||
...s3Options,
|
...s3Options,
|
||||||
...legacyS3Options,
|
...legacyS3Options,
|
||||||
credentials: extractCredentials({ s3Options, ...legacyS3Options }),
|
...(credentials ? { credentials } : {}),
|
||||||
};
|
};
|
||||||
|
|
||||||
config.params.ACL = getOr(ObjectCannedACL.public_read, ['params', 'ACL'], config);
|
config.params.ACL = getOr(ObjectCannedACL.public_read, ['params', 'ACL'], config);
|
||||||
|
|||||||
@ -89,7 +89,7 @@ function getBucketFromAwsUrl(fileUrl: string): BucketInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO Remove this in V5 since we will only support the new config structure
|
// TODO Remove this in V5 since we will only support the new config structure
|
||||||
export const extractCredentials = (options: InitOptions): AwsCredentialIdentity => {
|
export const extractCredentials = (options: InitOptions): AwsCredentialIdentity | null => {
|
||||||
// legacy
|
// legacy
|
||||||
if (options.accessKeyId && options.secretAccessKey) {
|
if (options.accessKeyId && options.secretAccessKey) {
|
||||||
return {
|
return {
|
||||||
@ -114,6 +114,5 @@ export const extractCredentials = (options: InitOptions): AwsCredentialIdentity
|
|||||||
secretAccessKey: options.s3Options.credentials.secretAccessKey,
|
secretAccessKey: options.s3Options.credentials.secretAccessKey,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
throw new Error("Couldn't find AWS credentials.");
|
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user