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'
}
)