Есть ли другие способы двухфакторной аутентификации?
Задача двухфакторной авторизации - защита данных авторизации от перехвата. Происходит разделение на 2 независимых канала передачи данных, чтобы предотвратить возможный перехват на едином канале.
Можно сделать так:
1. На почту после регистрации приходит HTML-страница с JS-кодом (формулой), содержащая формулу формирования PIN-а (на основе timestamp, userid и т.д.). Этот HTML-файл можно сохранить куда угодно на любое устройство, желательно без доступа к интернету. 
По желанию пользователя, можно сделать привязку к подсетям или стране при выдаче PIN-кода.
2. Запускаем HTML-ку и получаем PIN-код на экране.
3. Вводим его в поле: "PIN".
https://www.authy.com/
https://play.google.com/store/apps/details?id=com....
номер и там и там