Как получить куки аутентификации Cloudfront из Boto3 - PullRequest
0 голосов
/ 18 апреля 2020

Как будет анонимный пользователь проходить аутентификацию в пуле Cognito, используя Boto3, и получать три маркера ie Cook (CloudFront-Policy, CloudFront-Signature и CloudFront-Key-Pair-Id), используемые Cloudfront для предоставления доступа к ограниченные дистрибутивы?

Я обнаружил, что могу аутентифицировать анонимного пользователя в Python просто с помощью:

import boto3
from botocore import UNSIGNED
from botocore.client import Config

provider_client = boto3.client('cognito-idp', region_name='us-east-1', config=Config(signature_version=UNSIGNED))
resp = provider_client.initiate_auth(AuthFlow='USER_PASSWORD_AUTH', AuthParameters={ 'USERNAME':'username' , 'PASSWORD':'password' }, ClientId='clientid')

Однако возвращаемый ответ, похоже, содержит три совершенно разных токена, называемых AccessToken, IdToken и RefreshToken. И они намного больше, чем обычные токены Cloudfront, поэтому я предполагаю, что это не просто переименование, а токены с другой подписью.

Я хочу позволить клиенту Python получать доступ к дистрибутивам Cloudfront, либо установив куки-файлы Cloudfront, а затем отправив веб-запросы, либо иным образом аутентифицируя себя, а затем используя Boto3. Как мне сделать это после аутентификации?

...