TwilloRestfullException при входящем вызове в django_two_factor_auth
Я использую django_two_factor_auth версии 1.13.1 с python 3.6, и когда я пытаюсь получить OTP через телефонный звонок, он возвращает TwilloRestfullExeption на URL.
HTTP 400 error: Невозможно создать запись: Url is not a valid URL: http://localhost:8000/twilio/inbound/two_factor/206039/?locale=en
.
в моем URLS.py я добавил пути URL
url('', include(tf_urls)),
url('', include(tf_twilio_urls)),
Еще одна вещь, когда я пытаюсь нажать на этот URL через postman или веб-браузер, я получаю ответ 200 success
<?xml version="1.0" encoding="UTF-8" ?>
<Response>
<Say language="en">Your token is 1. 7. 3. 8. 4. 7. Repeat: 1. 7. 3. 8. 4. 7. Good bye.</Say>
</Response>
Проблема в том, что приложение работает на localhost. Когда django_two_factor_auth делает запрос на совершение телефонного звонка, он передает URL, так что когда звонок соединяется, Twilio делает запрос к этому URL, чтобы узнать, что делать дальше. При запуске на localhost этот URL создается как URL localhost (как видно из сообщения об ошибке), но Twilio не может делать запросы из публичного интернета к вашему localhost.
Я рекомендую использовать такой инструмент, как ngrok, чтобы сделать ваш localhost доступным для интернета и затем запустить двухфакторный поток, посетив ваш django сайт через ngrok URL. Вы можете прочитать больше о том как установить и использовать ngrok с django в этой статье блога.