Подход к получению URL-адреса и параметров соответствует учебнику Twilio. AUTH_TOKEN соответствует значению в консоли Twilio (информация об учетной записи). Кто-нибудь сталкивался с этой проблемой и нашел решение?
Код: Выделить всё
signature_header = APIKeyHeader(name="X-Twilio-Signature", auto_error=False)
async def validate_signature(request: Request, signature: str = Security(signature_header)):
if not signature:
raise HTTPException(403, "No signature provided")
validator = RequestValidator(settings.AUTH_TOKEN)
url = str(request.url)
params = dict(await request.form())
print(f"Twilio signature: {signature}")
print(f"Expected signature: {validator.compute_signature(url, params)}")
if not validator.validate(url, params, signature):
raise HTTPException(403, "Signature verification failed")
return True
Подробнее здесь: https://stackoverflow.com/questions/792 ... quest-fail
Мобильная версия