Author Topic: Протокол VKontakte  (Read 921185 times)

0 Members and 9 Guests are viewing this topic.

Offline itvdonsk

  • Newbie
  • *
  • Posts: 9
  • Country: 00
  • Jabber: Jabber ID
Re: Протокол VKontakte
« Reply #660 on: 10 02 2015, 04:37:39 »
Поставил в Вконтакте двухфакторную аутентификацию, теперь через миранду подключиться не удается. Пароль для приложения тоже не работает
 

Offline Elzor

Re: Протокол VKontakte
« Reply #661 on: 10 02 2015, 04:45:23 »
itvdonsk, двухфакторная авторизация в настоящее время не поддерживается.
 

Offline itvdonsk

  • Newbie
  • *
  • Posts: 9
  • Country: 00
  • Jabber: Jabber ID
Re: Протокол VKontakte
« Reply #662 on: 10 02 2015, 04:50:06 »
itvdonsk, двухфакторная авторизация в настоящее время не поддерживается.
А что особенного в двухфакторной авторизации с паролями приложений? Или плагин парсит страницы?
 

Offline Elzor

Re: Протокол VKontakte
« Reply #663 on: 10 02 2015, 05:01:13 »
Для авторизации - парсит. Кроме того, вк совершенно не озаботилось тем, чтобы описать в документации процесс двухфакторной авторизации.
 

Offline itvdonsk

  • Newbie
  • *
  • Posts: 9
  • Country: 00
  • Jabber: Jabber ID
Re: Протокол VKontakte
« Reply #664 on: 10 02 2015, 08:31:58 »
Кроме того, вк совершенно не озаботилось тем, чтобы описать в документации процесс двухфакторной авторизации.
А зачем парсить если есть https://vk.com/dev/auth_mobile и https://vk.com/dev/auth_direct (второе правда только по запросу)
 

Offline Elzor

Re: Протокол VKontakte
« Reply #665 on: 10 02 2015, 08:58:01 »
А зачем парсить если есть https://vk.com/dev/auth_mobile и https://vk.com/dev/auth_direct (второе правда только по запросу)
А мы и делаем  https://vk.com/dev/auth_mobile, в ответ получаем страницу с формой в которую вводим логин-пароль, если надо - разрешаем доступ к соответствующим разделам аккаунта, если надо - забираем капчу и показываем ее пользователю, отправляем все это дело и получаем токен а дальше с ним работаем.
Второй вариант, который по запросу - не наш, поскольку наша платформа поддерживает стандартную авторизацию.
 

Offline itvdonsk

  • Newbie
  • *
  • Posts: 9
  • Country: 00
  • Jabber: Jabber ID
Re: Протокол VKontakte
« Reply #666 on: 10 02 2015, 09:17:30 »
По факту вы не поддерживаете стандартную авторизацию, так как на сайте должен авторизовываться сам пользователь, а не приложение.
В этом случае замечание про описание двуфакторной авторизации в документации как то неуместно выглядит. Там же не написано как парсить страницу авторизации.
А по делу, в 2FA появляется еще одна страница с запросом кода.


По поводу СМС так же, только скрина нет, так как нужно откреплять GA

Code: [Select]
<div id="content"><div id="login_authcheck_wrap">
  <div class="login_authcheck_info">
    Чтобы подтвердить, что Вы действительно являетесь владельцем страницы, пожалуйста, введите <b>код подтверждения</b> из приложения-генератора кодов.
  </div>
  <div id="login_authcheck_error" class="msg unshown"></div>
  <div class="login_authcheck_form">
    <div class="login_authcheck_row">
      <div class="input_back_wrap no_select" style="display: block;"><div class="input_back" style="margin: 1px; padding: 5px 4px 4px;"><div class="input_back_content" style="width: 114px;">Введите код</div></div></div><input type="text" id="authcheck_code" class="big_text" value="" onkeydown="if (event.keyCode == 10 || event.keyCode == 13) { this.blur(); cur.submitCode(); }">
      <a id="login_authcheck_no_code" onclick="cur.showOptions()">Проблемы с получением кодов?</a>
    </div>
    <div class="login_authcheck_submit">
      <button class="flat_button button_wide" id="login_authcheck_submit_btn" onclick="cur.submitCode()">Отправить</button>
    </div>
    <div class="login_authcheck_row clear_fix">
      <div class="checkbox on fl_l" id="login_authcheck_remember" onclick="checkbox(this);">
        <div></div>Запомнить браузер
      </div>
    </div>
  </div>
  <div id="login_authcheck_options" class="login_authcheck_info unshown">
    Другие способы подтверждения:
    <ul class="listing">
      <li><span id="login_authcheck_send_sms"><a onclick="return cur.sendSms(this);">Отправить SMS</a> с кодом подтверждения на номер +7&nbsp;***&nbsp;***&nbsp;**&nbsp;83</span></li><li><span id="">Введите резервный код подтверждения</span></li><li><span id=""><a href="/restore?act=return_page">Отправить заявку на восстановление доступа</a></span></li>
    </ul>
  </div>
</div></div>
« Last Edit: 10 02 2015, 09:20:52 by itvdonsk »
 

Offline Elzor

Re: Протокол VKontakte
« Reply #667 on: 10 02 2015, 09:48:45 »
По факту вы не поддерживаете стандартную авторизацию, так как на сайте должен авторизовываться сам пользователь, а не приложение.
А что, с точки зрения сайта есть какая-то принципиальная разница, кто будет данные в форму вводить, пользователь или программа? Плагин вводит данные вместо пользователя, но сам метод авторизации от этого не меняется. Или надо чтобы пользователь обязательно сам, если повезет - раз в две недели, если не повезет - десять раз в день вводить логин и пароль в окне браузера?
В этом случае замечание про описание двуфакторной авторизации в документации как то неуместно выглядит. Там же не написано как парсить страницу авторизации.
Может быть оно и выглядит неуместно, но влияющим фактором является, хотя и не основным. Почем мне знать, быть может есть какой-то неописанный в документации способ отослать код подтверждения не парся форму и не заполняя ее. Вот сам процесс стандартной авторизации описан, из него следует что и как надо делать.
Ключевая причина, почему до сих пор нет двухфакторной авторизации - отсутствие у меня времени и достаточного желания, чтобы этим заняться. Но я принимаю патчи, если что  ;)
« Last Edit: 10 02 2015, 10:08:41 by Elzor »
 

Offline itvdonsk

  • Newbie
  • *
  • Posts: 9
  • Country: 00
  • Jabber: Jabber ID
Re: Протокол VKontakte
« Reply #668 on: 10 02 2015, 10:13:14 »
Но я принимаю патчи, если что  ;)
Увы, Си не мое. Мое это Ява )
Или надо чтобы пользователь обязательно сам, если повезет - раз в две недели, если не повезет - десять раз в день вводить логин и пароль в окне браузера?
Про повезет это к чему?
Quote
offline
(+65536)   Доступ к API в любое время со стороннего сервера (при использовании этой опции параметр expires_in, возвращаемый вместе с access_token, содержит 0 — токен бессрочный).

Кстати, а не пробовали использовать response_type=code?
« Last Edit: 10 02 2015, 10:41:58 by itvdonsk »
 

Offline Mikalair

Re: Протокол VKontakte
« Reply #669 on: 10 02 2015, 12:07:10 »
А нельзя сделать возможность вручную указывать токен ?

Post Merge: 10 02 2015, 12:15:27
Еще у некоторых контактов, ушедших в оффлайн не убирается значок ListeningTo. Уж не знаю, баг это или нет, но не красиво  ;D .
« Last Edit: 10 02 2015, 12:15:27 by Mikalair »
If you like my work, you can donate to me via Bitcoin: 1CHAseNjVFfLQViLWAhh1fe6fGTiR6p1UM
 

Offline Elzor

Re: Протокол VKontakte
« Reply #670 on: 10 02 2015, 15:22:10 »
Про повезет это к чему?
Когда сервера вк начинает колбасить, как это часто встречается последнее время, токен может протухнуть по нескольку раз за минуту. scope = offline мы пользуем, только это, по ощущениям не делает токен вечным. Опять же, по ощущениям, токен живет реально около двух недель. Говорю "по ощущениям", поскольку сам я, конечно, за тем сколько он живет специально не слежу, и что является причиной его смены точно сказать не могу. Плагин и сам его сбрасывает в некоторых случаях (например когда получает с сервера access denied).

Кстати, а не пробовали использовать response_type=code?
Нет. Насколько я понимаю, это для серверных приложений, а для них запрещен обмен личными сообщениями. Так что даже если это сработает, нам оно не подойдет.

А нельзя сделать возможность вручную указывать токен ?
Любители нетрадиционных асексуальных наслаждений могут воспользоваться дбэдитором и вбить его руками через него. Тот токен, который сейчас у меня - строка из 86 символов.

Еще у некоторых контактов, ушедших в оффлайн не убирается значок ListeningTo. Уж не знаю, баг это или нет, но не красиво  ;D .
Исправлено в ближайшем ночнике.
 

Offline itvdonsk

  • Newbie
  • *
  • Posts: 9
  • Country: 00
  • Jabber: Jabber ID
Re: Протокол VKontakte
« Reply #671 on: 10 02 2015, 15:37:36 »
Ну и лучше авторизовываться при сбросе токена, чем не иметь возможности пользоваться плагином вообще  ;D
 

Offline Mikalair

Re: Протокол VKontakte
« Reply #672 on: 10 02 2015, 15:52:06 »
Elzor,
Quote
Любители нетрадиционных асексуальных наслаждений могут воспользоваться дбэдитором и вбить его руками через него. Тот токен, который сейчас у меня - строка из 86 символов.
;D ;D ;D Дык он удалится после перезапуска.
If you like my work, you can donate to me via Bitcoin: 1CHAseNjVFfLQViLWAhh1fe6fGTiR6p1UM
 

Offline Elzor

Re: Протокол VKontakte
« Reply #673 on: 10 02 2015, 15:59:19 »
Дык он удалится после перезапуска.
Если реальный токен вбить - скорее нет, чем да. Если случайный набор символов - конечно он удалится.
 

Offline itvdonsk

  • Newbie
  • *
  • Posts: 9
  • Country: 00
  • Jabber: Jabber ID
Re: Протокол VKontakte
« Reply #674 on: 10 02 2015, 21:48:06 »
А в плагине для миранды такую штуку можно провернуть? http://habrahabr.ru/post/201074/