Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Проблемы при двухфакторной аутентификаций redirect_uri #4

Open
m0rphed opened this issue Jan 14, 2020 · 5 comments

Comments

@m0rphed
Copy link

m0rphed commented Jan 14, 2020

System: Manjaro x64
vk-music-fs-git: from AUR

При попытки соедениться с ВК выдaёт:

~ vk_music_fs --get_token <+01234567890> <my_passwd>
No user id or access token in response. Response: 

{"error":"need_validation","validation_type":"2fa_app","validation_sid":"2fa_377999756_2685278_e2185ad866ca70e22b","phone_mask":"+0 *** *** ** 90",

"error_description":"open redirect_uri in browser [5].
Also you can use 2fa_supported param",

"redirect_uri":"https:\/\/m.vk.com\/login?act=authcheck&api_hash=<my_private_hash>"}

Я попробовал перейти по redirect_uri вручную, в 9/10 случаев получал сообщение что сессия устарела.

В итоге, я всё-таки смог авторизоваться и получить access token.

Не ясно как должен выглядеть в таких случаях user_agent в ~/.config/VkMusicFs/VkMusicFs.ini -- в README не помешал бы более подробный пример.

После чего явно передал полученный токен через:

➜  ~ vk_music_fs --token <got_token> ~/VkMusicFs

После этого VkMusicFs успешно подмонтирповалась, но к сожалению всё равно не скачивает треки.

➜  My audios ls -la
total 0
drwxrwxrwx 1 root root    0 янв 14 18:00  0-100
-rwxrwxrwx 1 root root 1165 янв 14 18:00 'и в официальных приложениях ВКонтакте - Аудио доступно на vk.com.mp3'

Возможно дело в том, что не указан user_agent.

@vodka2
Copy link
Owner

vodka2 commented Jan 15, 2020

@m0rphed двухфакторная авторизация пока не поддерживается, но вообще можно ведь указать пароль для приложения в настройках ВК. Хотя, если уже получилось авторизоваться, то User-Agent есть в исходном коде.

Описание параметров в ini действительно, нужно добавить в README, они имеют вид

token=<token>
user_agent=<user_agent>

@Mayurifag
Copy link

Mayurifag commented Jan 10, 2021

Тоже столкнулся с указанной проблемой после установки из AUR.

  1. Ввел $ vk_music_fs --get_token (кстати — рекомендую здесь пробел перед командой делать, во многих шеллах это не сохраняет команду в истории, дабы не светить там пароль)
  2. Открыл браузер с любым расширением на смену юзерагента, вбил туда тот, что по комменту выше, на момент написания этого комментария — KateMobileAndroid/40.4 lite-394 (Android 4.4.2; SDK 19; x86; unknown Android SDK built for x86; en)
  3. Перешел по ссылке из ответа апишки в редиректе — благодаря юзерагенту там было не «сессия устарела», а ввод кода из смс, ввел.
  4. В адресной строке получил access_token и user_id, токен использую далее.
  5. Сделал .ini файл (пробовал по-разному, с двойными кавычками и без, тут непонятно):
 ▲ cat ~/.config/VkMusicFs/VkMusicFs.ini 
token=f7***********************************************************************************3
user_agent=KateMobileAndroid/40.4 lite-394 (Android 4.4.2; SDK 19; x86; unknown Android SDK built for x86; en)
  1. Создал папку и по инструкции подмаунтил:
~ mkdir VkMusicFs
▲ ~ vk_music_fs ~/VkMusicFs
  1. В ~/VkMusicFs стало 4 новых директории, но все пустые. Не получается никак создать папку, ругается на пермишены, файлов тоже никаких нет.

Подумал что дело в пермишенах — но любые комбинации chown -R и chmod 777 не помогают.
Подумал что в .ini что-то не так написал — но разные комбинации не решают проблему.
Подумал что в домашней директории проблема, но из /mnt тот же результат
На всякий случай ещё c root юзером попробовал — тоже не помогло.
Не понимаю тоже где смотреть логи — journalctl отдает только сообщения с успешным mount

Что можно попробовать сделать?

@vodka2
Copy link
Owner

vodka2 commented Jan 10, 2021

@Mayurifag
Не удобнее ли создать отдельный пароль? Это в Настройки -> Безопасность -> Пароли приложений в браузерном интерфейсе ВК. По-моему, проще, чем так подменять User-Agent расширением.

Насчёт пустых директорий. Попробуйте vk_music_fs ~/VkMusicFs --log_err_to_file 1 , лог будет по умолчанию в /home/username/.config/VkMusicFs/ErrorLog.txt. Ошибка с правами — стандартное сообщение, что что-то не так. Тоже стоит написать про это в README, хотя мне казалось, что это логично, как ещё сказать об ошибке файловому менеджеру. И ещё с опцией -d можно запустить: vk_music_fs ~/VkMusicFs -d, из терминала. На всякий случай, напишу, что у меня всё работает.

@Mayurifag
Copy link

Да, вот действительно через пересозданный токен с помощью генерированного пароля всё заработало, спасибо! А так — на токен ругалось.

@Servail
Copy link

Servail commented Feb 13, 2024

С кодом приложения выдаёт:

terminate called after throwing an instance of 'nlohmann::detail::type_error'
  what():  [json.exception.type_error.302] type must be string, but is null
Aborted (core dumped)

Прикрыли лавочку?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants