Объясню чуть по подробнее: когда вы настраиваете эту функцию, вы вводите в смартфон (сканируете qr код) сгенерированный ключ, потом, на основе этого ключа и текущего времени (с шагом в 30 секунд), каждые 30 секунд будет генерироваться новый код, и для проверки его правильности не нужен будет интернет на смартфоне, тк требуется только ключ и текущее время (вы можете это проверить, попробуйте поменять время на смартфоне и залогиниться)
Так же, как и большинство аутентификаторов (FreeOTP, Google Authenticatior) - создают одноразовые пароли с помощью секретного ключа, получаемого через QR-код