О как здорово!
Как раз собирался делать вход через sms.
Есть общие соображения.
Как показала практика, пользователи вводят телефонные номера как им взбредет в голову, поэтому надо
а) или делать жесткую поле ввода, но это не подходит для номеров из других стран
б) или делать нормализацию номера. для этого хорошо подходит https://github.com/daviddrysdale/python-phonenumbers
Иногда SMS не доходят.
Можно было-бы проверять статус доставки. Но:
а) это не для всех опреаторов работает
б) усложняет логику
в) и что мы будем делать с этим знанием? :)
Поэтому IMHO сгладить эту проблему помогает кнопка "Если вам не пришла СМС, нажмите сюда чтобы послать повторно".