Skip to content

Интерактивный запрос пароля 2FA при логине (сейчас — невнятная ошибка и рестарт цикла) #15

Description

@User3777

Что происходит

При логине на аккаунт с включённой 2FA без password=... в MaxApi() библиотека печатает QR-код и падает:

MapperApiError: password is required to login in account with 2FA.

Сообщение вводит в заблуждение: звучит как ошибка библиотеки/сервера, хотя по смыслу это обычный сценарий «аккаунт защищён паролем — введите его». Из текста не ясно, кто должен передать пароль и как. После ошибки срабатывает RestartMapperError("Failed to login") и цикл авторизации повторяется с новой печатью QR.

Предложение

Запрашивать пароль 2FA интерактивно — так же, как это уже сделано для подтверждения QR-логина:

  1. Сервер вернул password_challenge, а MaxApi(password=...) не задан → показать в терминале приглашение ввода пароля;
  2. Введённый пароль уходит в resolve_two_factor(track_id, password);
  3. Интерактивный режим имеет смысл включать только при активной TTY-сессии; при её отсутствии — понятная ошибка вида «account has 2FA enabled: pass MaxApi(password=...) or run interactively» вместо текущего текста.

Это убирает необходимость хардкодить пароль в коде и делает первый запуск на 2FA-аккаунте таким же простым, как сканирование QR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions