Amazon CloudFront не работает в React NativeIOS

Программируем под IOS
Ответить
Anonymous
 Amazon CloudFront не работает в React Native

Сообщение Anonymous »

У вас есть два варианта решения этой проблемы:

1. Используйте AWS Amplify или AWS SDK для браузера

Если вам необходимо выполнить это действие в браузере, одним из решений является использование AWS Amplify или комбинации других сервисы, которые обеспечивают взаимодействие на основе браузера без необходимости управления закрытыми ключами в браузере.
Однако подписывание URL-адресов обычно не следует выполнять непосредственно в коде на стороне клиента, поскольку это раскрывает ваши личные данные. ключ, что представляет угрозу безопасности. Вместо этого вам следует выполнить эту операцию на стороне сервера, а затем передать подписанный URL-адрес клиенту.
const configureAWS = () => {
const {AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION} = config;

AWS.config.update({
accessKeyId: AWS_ACCESS_KEY_ID,
secretAccessKey: AWS_SECRET_ACCESS_KEY,
region: AWS_REGION,
});
};

export const AwsDownloadWithSignedUrlVideo = async (
bucketName,
key,
Expires = 60,
) => {
try {
configureAWS(); // Ensure AWS is configured

const {
CLOUDFRONT_URL,
CLOUDFRONT_KEY_PAIR_ID,
CLOUDFRONT_PRIVATE_KEY_PATH,
} = Config;

const cloudFrontUrl = `${CLOUDFRONT_URL}/${key}`;
const cloudFront = new AWS.CloudFront.Signer(
CLOUDFRONT_KEY_PAIR_ID,
CLOUDFRONT_PRIVATE_KEY_PATH,
);

const signedUrlCloudFront = cloudFront.getSignedUrl({
url: cloudFrontUrl,
expires: Math.floor(Date.now() / 1000) + Expires,
});

return signedUrlCloudFront;
} catch (error) {
console.error('Error generating signed URL for video from S3:', error);
return null;
}
};


Подробнее здесь: https://stackoverflow.com/questions/793 ... act-native
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»