Miranda NG Official Community Forum
Miranda NG русскоязычный форум => Общие разговоры о Miranda NG => Topic started by: -SM- on 26 05 2024, 08:59:12
-
Создал себе аккаунт в ВК. Там спросили номер телефона, имя-фамилию, ну и почту на всякий случай. Никаких паролей - только смска, все создалось, все вошлось. Поставил плагин VK в миранду, создал аккаунт. Там требуется номер телефона или емайл, и пароль. А пароля то нету! Видимо, один я такой тупой, что не понимаю, как настроить авторизацию миранды в ВК...
-
На сайте сделайте себе пароль в настройках аккаунта.
-
На сайте сделайте себе пароль в настройках аккаунта.
Так вот весь мозг сломал, как это сделать, не получается. Даже если сделать "восстановление пароля", то по факту происходит просто влогинивание по смс без создания пароля. Или надо 2FA включать для этого?
-
Важно: если вы удалили пароль и хотите добавить его снова, необходимо сначала включить двухфакторную аутентификацию. Без этого пароль добавить не получится.
https://vk.com/faq18007
-
https://vk.com/faq18007
А с 2FA я смогу влогиниться в миранду то? А то ведь с подобной 2FA входа в MRA нету, а контора одна.
-
Да. У VK есть API для этого. У MRA нет.
-
У VK есть API для этого. У MRA нет.
Ясно, спасибо.Ну апи-то у MRA явно есть, и десктопный клиент, и мобильный успешно коннектятся с запросом 4-х цифр. Видимо, расковырять его надо.
-
Ну апи-то у MRA явно есть, и десктопный клиент, и мобильный успешно коннектятся с запросом 4-х цифр.
Эти методы могут быть не публичны
-
Эти методы могут быть не публичны
Этот вопрос саморазрешился. После логина в оф. клиенте MRA миранда тоже логинится без вопросов.
А MRA использует окно с ф-циями браузера для OAuth, что противоречит политическим взглядам миранды.
Итого - два варианта - ждать, когда остальные протоколы вынудят поддержать OAutn в миранде, либо костылить аутентификацией через оф. клиент.
-
А MRA использует окно с ф-циями браузера для OAuth, что противоречит политическим взглядам миранды.
Архитектурным, тянуть браузер в ядро так себе затея.
-
тянуть браузер в ядро так себе затея
А хотите сказать, что MRA (оф. клиент) на пустом месте затянуло к себе полный браузер? ИМХО, там какое-то упрощенное окно для получения токена.
-
тянуть браузер в ядро
И не обязательно в ядро, в теории можно сделать плагин для OAuth.
-
-SM-, учитывая, что в ВК тоже есть авторизация через OAuth и там используется браузер по умолчанию, и копируется пользователем только полученный токен, для однообразия уж лучше так.
И не обязательно в ядро, в теории можно сделать плагин для OAuth.
Всё равно так себе затея, тянуть браузер в любом виде.
-
и копируется пользователем только полученный токен
Не, в ВК как-то обходится без копирований пользователем токенов, там некое спец-апи.А для OAuth как раз логично сделать плагин с минимальной браузерной функциональностью, кому надо, тот поставит.
-
MRA может себе затягивать что угодно, их говнокод не пример для подражания.
В качестве примера великолепных инженерных решений мыла - как устроен их старый клиент облачного диска: он внутри себя хранит две dll - расширения проводника (32 и 64 бит), при каждом запуске дропает их в %TEMP% и регистрирует. Отказаться от этого можно, лишь пропатчив клиент хекс-редактором: либо занулив первый байт каждой из dll, чтобы это перестали быть валидные dll и оно не смогло их регистрировать (что не помешает, впрочем, каждый запуск дропать их на диск), либо найдя функцию распаковки и влепив ей return в начало.
Этим приходится заниматься, потому что их новый клиент (Диск-О) ещё ужаснее.
-
MRA может себе затягивать что угодно, их говнокод не пример для подражания
Речь идет не о втягивания говнокодов в ядро откуда либо, а о реализации OAuth как стандартного способа аутентификации в виде плагина, который каждый, которому это нужно, может поставить, не влияя на остальную миранду. А какие там браузероподобности будут притащены - не важно, это плагин. То есть, на усмотрение разработчика. Задача OAuth - получить токен, она разовая. Дальше с этим токеном можно работать долго, и очень долго.
-
Не, в ВК как-то обходится без копирований пользователем токенов, там некое спец-апи.
Во-первых, да, есть апи. Во-вторых, внутри ВК-плагина сидит маленький самописный парсер страниц авторизации, этакий микро-браузер :) И чтобы получить статическую страницу с полями для авторизации, приходится прикидываться устаревшим браузером, поддержку которого вк официально отстрелила еще несколько лет назад. В любой момент авторизация может отвалиться, если его поддержку отстрелят и фактически тоже или если поменяют страницу авторизации, что случалось уже бесчисленное количество раз. Возможно тогда придется тоже копировать токен, поскольку вк по факту не дает возможность цивилизовано его получить в стороннем десктопном приложении.
Речь идет не о втягивания говнокодов в ядро откуда либо, а о реализации OAuth как стандартного способа аутентификации в виде плагина, который каждый, которому это нужно, может поставить, не влияя на остальную миранду. А какие там браузероподобности будут притащены - не важно, это плагин.
На самом деле там все не просто. На примере того же ВК: у меня есть еще один пет-проект, который работает с вк апи. Чтобы авторизоваться, пришлось затаскивать в него WebView2 и для работы он требует Среду выполнения Microsoft Edge WebView2 Runtime - то есть по сути отдельного почти полноценного браузера, который пользователь еще и руками должен поставить (294 Mb, между прочим). Но WebView2 для C# с его .Net хотя бы есть, у нас же тут голый WinAPI, под него что-то подобного, насколько я знаю нет. Не то чтобы не было иных альтернатив WebView2, но они еще хуже. Нет, безусловно, если вк перекроют кислород с текущим способом авториpации, я возможно отдельно нарисую приложение на C#, которое только и будет что авторизовывать и передавать токен в вк-плагин (в принципе, наверное, такое приложение можно сделать универсальным для всяких MRA, FB и тд, но это не точно), но оно будет крайне тяжеловесным, противоречить всей идеологии проекта миранды и вряд ли станет его частью.
-
но оно будет крайне тяжеловесным, противоречить всей идеологии проекта миранды и вряд ли станет его частью.
Если оно будет плагином - да пусть там хоть весь хромиум сидит, кому это надо - выкачает и поставит. Кому не надо - будет пользоваться мирандой без OAuth и протоколов, которым он необходим. А их, думаю, скоро станет... Все...
я возможно отдельно нарисую приложение на C#, которое только и будет что авторизовывать и передавать токен в вк-плагин (в принципе, наверное, такое приложение можно сделать универсальным для всяких MRA, FB и тд, но это не точно)
отличная идея! Особенно, если оно сработает и для MRA.
-
Если оно будет плагином - да пусть там хоть весь хромиум сидит, кому это надо - выкачает и поставит.
Microsoft Edge WebView2 Runtime как бы и есть целиком Chromium с привкусом только без головы. Не то чтобы я против, но втягивание WebView2 сильно проблему не решит т.к. я думаю в ближайшее время там останется поддержка только Win 10/11. И главное тягать бандл который размеров в два раза больше чем вся сборка миранды с отладочными символами – так себе затея. Плюс это автоматически сломает всё что не Windows.
И вспомнилось когда появился первый плагин для Skype который использовал SkypeKit и протянул не очень долго, и он весил аж целых 5Мб, народ был слегка в недоумении первое время.
-
и он весил аж целых 5Мб, народ был слегка в недоумении первое время.
Ну во первых - времена изменились, памяти сейчас у всех полно. Если раньше 5 мбайт было "ужас", то сейчас 500 мбайт не страшно. Но, главное, во вторых, об этом можно предупредить - что "вот это" доступно только для таких ОС и имеет большой размер. Я уверен - это устроит подавляющее большинство, кому без этого просто никак.
Плюс это автоматически сломает всё что не Windows.
Каким образом, если это плагин? Просто его не будет для невиндовсов. А если это вообще отдельная программа, которая может запускаться мирандой с целью аутентификации, так и тем более.
-
Каким образом, если это плагин? Просто его не будет для невиндовсов.
Попробуйте как-то на досуге поупражняться с мирандой в WINE – многие вопросы отпадут сами собой.
-
Попробуйте как-то на досуге поупражняться с мирандой в WINE
Я просто не буду ставить этот плагин в несовместимом окружении. Зачем с этим упражняться, если это заведомо не работает?
-
А вот такой вопрос. Ведь имеется RFC8628. ВК его поддерживает? А MRA?
Если поддерживает, то реализовать браузер в приложении не нужно. RFC8628 предполагает, что приложение поллит сервер аутентификации для получения токена, а юзер при этом проходит аутентификацию через системный браузер, установленный по умолчанию. Если это прокатит, то реализация OAuth 2.0 в миранде выйдет легковесной.