Полная реализация подписанных файлов cookie Cloudfront на стороне сервера в java / javascript

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-cookies.html#private-content-how-signed-cookies-work

Шаг 1-4 инструкции был успешно реализован, но я не знаю, как продолжить работу на стороне клиента после того, как браузер получил файлы cookie ... Может ли кто-нибудь поделиться со мной кодом? Или указать в правильном направлении? Ваша помощь очень ценится.

Пользователь запрашивает объект.

Браузер пользователя или другое средство просмотра получает пары имя-значение с шага 4 и добавляет их в запрос в заголовке Cookie. Это подписанный файл cookie.

CloudFront использует открытый ключ для проверки подписи в подписанном файле cookie и подтверждения того, что файл cookie не был изменен. Если подпись недействительна, запрос отклоняется.

Если подпись в файле cookie действительна, CloudFront просматривает заявление о политике в файле cookie (или создает его, если вы используете стандартную политику), чтобы подтвердить, что запрос все еще действителен. Например, если вы указали дату и время начала и окончания для файла cookie, CloudFront подтвердит, что пользователь пытается получить доступ к вашему контенту в течение периода времени, который вы хотите разрешить.

Если запрос соответствует требованиям, изложенным в заявлении политики, CloudFront обслуживает ваш контент так же, как и контент, который не ограничен: он определяет, находится ли объект уже в пограничном кэше, при необходимости перенаправляет запрос источнику и возвращает возражать пользователю.

Вот где я застрял, у меня есть подписанный файл cookie и response.addcookie в заголовок ответа, это так? заголовок запроса не может добавить заголовок или файл cookie ... тогда как мне продолжить? У меня нет опыта в дуэлях с cookie, я использовал подписанный URL для распространения rtmp, но не для распространения http (подписанные файлы cookie)

введите здесь описание изображения


person Jacob Chong    schedule 06.10.2016    source источник


Ответы (1)


Как только вы сохраните cookie CloudFront в браузере для определенного домена , т.е. subdomain.mydomain.com или .mydomain.com в качестве файла cookie с подстановочным знаком.

Затем с каждым запросом к хосту (домену) файл cookie CF будет отправляться через заголовки HTTP-запроса.

CF расшифрует билет в cookie и подтвердит ваш запрос, вам нужно только предоставить разрешения для корзины S3 для идентификатора источника CF, указанного в идентификаторах происхождения CF в консоли CF.

Допустим, у вас есть запрошенное изображение @ https://mycdn.mydomain.com/myimage.jpg который является DNS-адресом CNAME и пограничным кешем для источника https://s3.amazonaws.com/mybucket/images/myimage.jpg, или вы можете использовать адрес cloudfront.net по умолчанию, который будет иметь место, если вы не используете свою собственную запись CNAME.

Затем ваш домен CF cookie будет отправлен и разрешение будет подтверждено, а затем в ответ на браузер будет ваше изображение.

Надеюсь, это поможет; Если нет, это может быть полезно.

http://www.spacevatican.org/2015/5/1/using-cloudfront-signed-cookies/

person dynamiclynk    schedule 10.10.2016