AWS API-шлюз Лямбда-аутентификатор предупреждение - PullRequest
0 голосов
/ 20 марта 2020

AWS API Gateway Autherizer lambda работает с предупреждением:

/ var / runtime / botocore / vendored / запросы / api.py: 64: DeprecationWarning: вы используете функцию post () из ' botocore.vendored.requests. Эта зависимость была удалена из Botocore и будет удалена из Lambda после 2020/03/31. https://aws.amazon.com/blogs/developer/removing-the-vendored-version-of-requests-from-botocore/. Установите пакет запросов, напрямую «импортируйте запросы» и используйте вместо этого функцию questions.post ().

Я знаю, что это можно решить путем импорта пакета запросов, но я пытался решить его с помощью urllib3 ( пакет по умолчанию в boto3). Ниже мой код

data = {
    'token': access_token,
    'client_id': client_id,
    'client_secret': client_secret,
    'token_type_hint': 'access_token'
}
http = urllib3.PoolManager()

encoded_data = json.dumps(data).encode('utf-8')
introspection = http.request(method='POST',
                             url=INTROSPECTION_ENDPOINT,
                             body=encoded_data,
                             headers={'Content-Type': 'application/x-www-form-urlencoded'}
                             )

после выполнения кода я получаю следующую ошибку: {"error_description": "параметр token требуется для конечной точки самоанализа.", "Error": "invalid_request"} '

, но то же самое работает с использованием запросов

data = {
    'token': access_token,
    'client_id': client_id,
    'client_secret': client_secret,
    'token_type_hint': 'access_token'
}

introspection = requests.post(
     url=INTROSPECTION_ENDPOINT,
     data=data,
     headers={
         'Content-Type': 'application/x-www-form-urlencoded'
     }
 )

1 Ответ

0 голосов
/ 03 апреля 2020

Использует библиотеку запросов, поскольку я не смог найти четкий ответ

...