Nous avons utilisé CloudFront pour stocker des URL d'images et utiliser des cookies signés pour fournir un accès uniquement via notre application. Sans les cookies signés, nous sommes en mesure d'accéder au contenu, mais après avoir activé les cookies signés nous obtenons HTTP 403.Problème de cookies signé par Cloudfront, obtention de 403
ci-dessous la configuration/les cookies nous envoyons:
Cookies aller à la demande:
CloudFront-Expires: 1522454400
CloudFront-Key-Pair-Id: xyz...
CloudFront-Policy: abcde...
CloudFront-Signature: abce...
Voici notre politique de CloudFront:
{
"Statement": [
{
"Resource":"https://*.abc.com/*",
"Condition":{
"DateLessThan":{"AWS:EpochTime":1522454400}
}
}
]
}
Le domaine du cookie est .abc.com
, et le chemin des ressources est https://*.abc.com/*
. Nous utilisons CannedPolicy
pour créer des cookies CloudFront
.
Pourquoi cela ne fonctionne-t-il pas comme prévu?
Michael, nous avons juste besoin d'empêcher l'accès direct du contenu avec l'URL, nous avons donc pensé à utiliser des cookies signés, de sorte que le contenu soit accessible uniquement par l'application. De plus, nous n'utilisons que des polices en boîte. Si nous n'envoyons que trois cookies: CloudFront-Expires: 1522454400, CloudFront-Key-Pair-Id: xyz ..., CloudFront-Signature: abce ... nous obtenons toujours 403. code: this.signedCookies = CloudFrontCookieSigner.getCookiesForCannedPolicy ( \t \t \t \t Protocole.https, this.domaine, privateKeyFile, this.resourcePath, this.keyPairId, expiresOn); – SANDIP