Как будет анонимный пользователь проходить аутентификацию в пуле 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. Как мне сделать это после аутентификации?