31 lines
921 B
Python
31 lines
921 B
Python
from __future__ import unicode_literals
|
|
|
|
from .common import InfoExtractor
|
|
from ..utils import ExtractorError
|
|
|
|
|
|
class CognitoBaseIE(InfoExtractor):
|
|
|
|
def _cognito_login(self, auth_data):
|
|
try:
|
|
import boto3
|
|
from warrant.aws_srp import AWSSRP
|
|
except ImportError:
|
|
raise ExtractorError('%s depends on boto3 and warrant.' % self.IE_NAME)
|
|
|
|
region = auth_data['PoolId'].split('_')[0]
|
|
client = boto3.client(
|
|
'cognito-idp',
|
|
region_name=region,
|
|
aws_access_key_id='SomeNonsenseValue',
|
|
aws_secret_access_key='YetAnotherNonsenseValue'
|
|
)
|
|
aws = AWSSRP(
|
|
username=auth_data['Username'],
|
|
password=auth_data['Password'],
|
|
pool_id=auth_data['PoolId'],
|
|
client_id=auth_data['ClientId'],
|
|
client=client
|
|
)
|
|
return aws.authenticate_user()
|