-
Notifications
You must be signed in to change notification settings - Fork 0
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
vk_api.exceptions.AuthError: Unknown error (AUTH; no sid) #3
Comments
Был сделан переход на токенную систему. Вопрос с логином по паролю не был решён. Кто-то перетыкался во все точки и так и не понял откуда берётся auth_token для дальнейшей авторизации в login.vk.com/?act=connect_authorize Его первое появление связано с api.vk.com/method/statEvents.addVKIDAnonymously |
На скорую руку удалось понять, что Запрос возвращает ответ без параметров В ответ приходит html, в head которого есть тег script, а в нем объект, присваиваемый переменной window.init Дальше пока не копался, но qr код запрашивает с этим токеном |
Вчерашнее копание также меня привело к этому же выводу. Один любезный господин подтвердил теорию того, что токен может приходить в составе фронта. На момент описания своих рассуждений, я отлавливал лишь xhr запросы, спешно. Тэг script window.init.auth, если точнее.
Возможно, они равнозначны для авторизации Вчера меня это натолкнуло на то, что нужно искать action и initial_stats - токены в дампе har, как видно уже не нужно. По вашему варианту. Он прекрасно сработал в браузере. Благодарю за наводку. UPD: Чтобы получить access_token хватило этого. Но пока не проверял получение самой токенной пары для сессии import requests
from requests.cookies import RequestsCookieJar
session = requests.Session()
cookie = RequestsCookieJar()
url = "https://id.vk.com/auth?response_type=silent_token&uuid=vyhghb&v=1.0.2&sdk_type=vkid&app_id=7497650&redirect_uri=https%3A%2F%2Fid.vk.com%2Faccount%3Fflow_service%3Dvkid_landing_%2Fid"
resp = session.get(
url=url
, cookies=cookie
, headers={
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
}
)
print(resp.headers,resp.cookies,resp.content.decode()) |
Мне мало access_token, мне нужна кука remixsid =)
Мои успехи за сегодня: в принципе удалось сэмулировать шаги новой формы, пока на коленке, без проверки ошибок. Понятно, зачем нужны два токена: access_token и anonymous_token и похоже они одноразовые, пытался кешировать, но получал ошибку. Вытащил из js код генерации device_id. Кодом пока делиться стыдно, там трешачок =) В планах поискать, может есть код и для генерации uuid, обработать ошибки и переписать весь этот говнокод =) Не уверен, что получится интегрировать в библиотеку и сделать PR, мне кажется слишком много всего изменилось Не могу проверить нововведение "вход без пароля", когда нужно ввести код из смс, потому что ВК явно меня приблочил, не присылает смс-ки =) До этого уже капчей начал спамить, но ее я на скорую руку вводил. Жду, когда отблочит =) Основной аккаунт использовать не хочу, может создать еще один, благо симки есть =) |
Если мне не кажется, то uuid является абсолютно рандомная строка размером в 6 символов Пройдясь по дампу, находится он в том-же window.init похоже, что в window.init.data
Мне лично не понятно, зачем нужен анонимный токен. И device_id Лично моя цель, на данный момент SID, ибо остальное вполне достаётся, без лишних движений и буду надеятся, что "Игра ВКантакте" закончится. Но это слишком оптимистично, при моих ресурсах времени;p |
Мне тоже так кажется, потому что оно сработало без проблем =)
Вот в примеры я как раз не посмотрел =) В auth.js он генерится из очень странной строки
Из того, что я нашел и что нужно (по крайней мере вряд ли это можно пропустить) в процессе логина в новой форме:
Я приложеньку себе для Kodi делаю и +- сделал на уровне говнокода, но рабочего =) вчера поставил на "телике" и бац, новая форма.... |
Пока что мои успехи такие =) Нужно все перепроверить и может быть что-то улучшить, т.к. не всем я до конца доволен, но работает =) Надеюсь когда PR буду делать, то одобрят =) Если будет желание затестировать, то буду рад, т.к. 100% уверенности в том, что ВК всегда все выдает у меня нет, хотя должен выдавать =) |
Короткое описание
VK сменили форму авторизации, так что попытка входа возвращающая новую форму входа ломает бота.
Как я предполагаю, раньше новая форма была на проде ввиде канарейки и собирала какой-то малочисленный трафик, сейчас они повысили процент авторизации по этой форме, так что большинтсво попыток входа провальны.
Это значит, что есть попытки при которых всё-ещё можно войти, но это пока старая форма находится в обороте. Вскоре её вытеснят
Подробнее можно ознакомится из этого issue
python273/vk_api#519
На данный момент рассматриваю два варианта.
Вотаковота
The text was updated successfully, but these errors were encountered: