Coder Social home page Coder Social logo

Comments (67)

alexeycv avatar alexeycv commented on June 29, 2024

Чтоб не копировать ссылку, можно нажать галку "получать access-token автоматически" и в поле Пароль/access-token ввести свой паролик от вконтакта.
Другой вопрос с плясками во время регистрации. Сам вконтакт не всегда сразу возвращает список друзей, иногда даже очень долго не отдает контакты. API сырое еще.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

Так а вариант как у tweet.im чем не подходит? И пароль сливать не надо и плясать не нужно

from vk4xmpp.

alexeycv avatar alexeycv commented on June 29, 2024

Если просмотреть вариант с tweet.im, то фактически мы там имеем некое одно приложение, на которое подписываются пользователи. Оно соответственно берет подписки пользователей и уже с ними работает. Да, это хорошо, но тогда каждому серверу нужно будет регистрировать свою копию VK4XMPP на вконтакте, получать ключик, делать ссылку на сайте для авторизации.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

Ну так имеющиеся варианты необязательно убивать

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

И ссылка авторизации может прекрасно быть частью транспорта, то есть не требовать настройки отдельного сервера и сайта

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, мне кажется, вы не поняли. Транспорт не требует никакого сайта и сервера.
Регистрация вышла такой, потому что я хотел добавить возможность авторизации по паролю и по токену.
В первой версии окно содержало только немного инструкций и два поля — телефон и пароль.
Позже была добавлена возможность авторизовываться не только по паролю. Отсюда и такая «сложная» форма. В любом случае, в интернетах полно инструкций по настройке транспортов. А инструкции в окне регистрации достаточно, чтобы понять суть.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

mrDoctorWho, я прекрасно понимаю, почему получилась такая сложная форма, я предлагаю лишь решение как сделать так, чтоб регистрация была проста и понятна без всяких отдельных инструкций далекому от компьютеров пользователей. Если вы считаете, что транспортом должны пользоваться только гики, которые готовы тратить время на изучение инструкций - я тогда не по адресу, да.
Ведь вроде несложно добавить в транспорт, чтоб он не только соединялся с xmpp-сервером, но и одновременно слушал порт для http-соединений, отображения формы регистрации и обработки тех самых авторизационных ссылок - удобство для пользователя станет выше на порядок. Для гика-администратора транспорта - настроить такой вариант тоже не должно вызвать проблем, плюс всегда можно пользоваться и старым способом, для тех кому это удобнее.
Кроме того, http-часть в дальнейшем может понадобиться для передачи фоточек, например.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster , Выпустим стабильную версию, там и посмотрим.

from vk4xmpp.

santiago26 avatar santiago26 commented on June 29, 2024

@vitalyster я уже предлагал некоторые вещи направленные на повышение удобства и стабильно получал такие ответы, так что боюсь, что мы действительно не по адресу.

from vk4xmpp.

WST avatar WST commented on June 29, 2024

+1, я за регистрацию через веб

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, а вообще, в транспорте всего 700 строк кода, он не может работать :)

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, идея хороша, однако, как я понял из поста на жуйке, вы хотите сделать так, чтобы юзерам не приходилось копипастить токен/url в окно транспорта.
Однако здесь есть одна серьёзная проблема: ВКонтакте позволяет делать перенаправления только на указанные в настройках приложения домены и страницы.
Если вы подскажете, как реализовать так, чтобы это обойти, буду рад добавить это в транспорт.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

Транспорт хостит формочку для ввода джида и кнопку "зарегистрироваться", при нажатии пользователя переносит в контактик, после авторизации там приложения его перенаправляет на урл перенаправления, который тоже хостится транспортом и при получении токена - на указанный ранее джид регистрируется пользователь с полученным токеном, отсылается ему запрос подписки.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, в вашей идее не учтено, что URL перенаправления всегда один и задаётся он в настройках приложения ВКонтакте

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@mrDoctorWho ну естественно один, те, кто ставят транспорт на свой сервер - регистрируют свое приложение и прописывают свой урл.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, это уже лишнее.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@mrDoctorWho если кто-то не хочет регистрировать свое приложение - он может оставить имеющуюся регистрацию

from vk4xmpp.

Atterratio avatar Atterratio commented on June 29, 2024

Нафиг, не надо своих приложений это точно.
А вот что надо, это динамичную форму с понятными полями, сначала выбор(кнопками например), по паролю или токену, потом на той же форме или на следующей появляются только необходимые поля.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@Atterratio - пользователи жаббера такие смешные, зачем нужна форма с динамическим выбором пароля и токена? Почему нельзя сделать как у всех приложений - просто кнопку "запустить приложение"? Зачем пользователю знать про какие-то токены?

from vk4xmpp.

ernado avatar ernado commented on June 29, 2024

Можно добавить возможность работы через собственное приложение. (для тех, кто ставит на свой сервер, дополнительные телодвижения вроде этого не будут слишком напряжными)

Это сильно увеличит юзабилити для конечных пользователей же.

upd: вопрос в том, будет ли оно так работать вообще. Насколько я понимаю, api с сообщениями там для standalone-клиента

from vk4xmpp.

ernado avatar ernado commented on June 29, 2024

Одна из упоротых решений проблемы - хостить где-нибудь свое api.

from vk4xmpp.

ernado avatar ernado commented on June 29, 2024

Надо закрыть issue, реализация на стороне сервера невозможна, так как используется standalone api.
Возможный workaround - реализация регистрации на стороне клиента. Т.е. standalone приложенте, которое автоматически возьмет токен и зарегестрирует на нужном траспорте.

from vk4xmpp.

santiago26 avatar santiago26 commented on June 29, 2024

@ernado речь как раз о том, что это стандалон-приложение "должно быть частью транспорта"

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@ernado я правильно понимаю, что токен, который выдается серверному приложению, не подойдет для получения и отправки сообщений?

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, так точно: https://vk.com/dev/messages.send

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@mrDoctorWho ну а если пометить транспорт как standalone-приложение?

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, транспорт таковым и является, для ВКонтакте. Но по сути он — серверное приложение.

from vk4xmpp.

santiago26 avatar santiago26 commented on June 29, 2024

@vitalyster смысл в том, что транспорт - это стандалон приложение, а "вход через вконтакте" доступен только для сайтов. Костыли неизбежны, это правда, но сейчас и эти костыли слишком неудобны, чтобы их мог использовать совсем любой пользователь. Можно было бы сделать веб-форму, которая обладает большим удобством, нежели джаббер-форма.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

Также транспорт нарушает правила ВКонтакте и это, к сожалению, неизбежно. Если хотите без нарушения правил, и, возможно, без капчи — используйте standalone jabber-сервер «VkXmppGate».

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@mrDoctorWho почему нарушает и в чем разница с VkXmppGate?

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, нарушает тем, что, согласно правилам ВКонтакте, нельзя запускать standalone-приложения на серверах. VkXmppGate в этом отношении правильнее потому, что представляет собой программу, которую почти любой желающий юзер сможет запустить на локальной машине и использовать сколь душе угодно.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@mrDoctorWho ну ничего не мешает запустить vk4xmpp на локальной машине, вот то что публичные транспорты это нарушение - плохо.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, vk4xmpp требует наличие настроенного jabber-сервера, что для рядового юзера довольно сложно.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

This enables you to create both full-fledged VK clients (such as the official VK Android app) or various services that augment their user experience with data received from the VK API.

Вроде можно сервисы же. Или где почитать что нельзя? Иначе получается, что какие-нибудь IM+ тоже нарушают?

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, standalone-прложения должны запускаться на устройстве пользователя, а не на сервере. Почитать можно здесь.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

Я оттуда и прочитал, не вижу там запрета.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, в самом конце:
«Обратите внимание, что обращаться к API при использовании типа «Standalone-приложение» требуется с клиента, а не со стороннего сервера.»

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

Хм, в английской версии не написано, фигово, чо.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

А здесь говорят типа "пишите транспорты" - https://vk.com/bugs?act=show&id=28195646_1
Возможно вопрос все-таки можно уладить, связавшись с Вконтакте.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, https://vk.com/bugs?act=show&id=26250615_3
Я ещё давно зарегистрировал этот багрепорт, но никакой реакции не последовало. Аналогично и с репортом по поводу невозможности ввода капчи.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@mrDoctorWho ну судя по всему "нельзя" запускать на сервере не технически, а только на словах, потому этот вопрос не очень существенный, по крайней мере пока приложение не удаляют. А вот все-таки по теме вопроса - разве что-то мешает сделать веб-приложение, получающее токен и регистрирующее пользователя в базе транспорта? Оно не может получить токен, пригодный для standalone-приложений?

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, можно сделать веб-приложение, но всё равно веб-регистрация будет возможна только на одном домене.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@mrDoctorWho ну да, я про это выше и писал - администратор транспорта заводит свое приложение в вк со своими ключами и свой домен прописывает.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, хоть эта идея мне не очень нравится, но, пожалуй, за неимением другого варианта, придётся реализовать.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, как-то странно получается. Попробовал добавить simpleapps.ru в список доменов, прошёл по ссылке и получил ответ:
{"error":"invalid_scope","error_description":"standalone applications should use blank.html as redirect_uri to access messages"}
Т.е. редирект на свои сайты делать нельзя, нужно другое решение.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@mrDoctorWho вот это уже совсем плохо. В таком раскладе получается только с поддержкой на стороне клиента.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, можно написать графическое Desktop-приложение, которое будет выполнять функции браузера для vk.com, получать токен и отправлять его транспорту. Если такое решение всех устраивает, в том числе, с точки зрения безопасности — написать мне его не составит труда.
Токены, кажется, не привязаны к IP.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

Кстати, можно реализовать веб-приложение на flash или java. Но java блочится, а флеш — не лучшее решение. Но я сомневаюсь, что это можно реализовать на pure html + js.

from vk4xmpp.

ernado avatar ernado commented on June 29, 2024

Собственно, вы пришли к тому, о чем я и говорил
"Возможный workaround - реализация регистрации на стороне клиента. Т.е. standalone приложенте, которое автоматически возьмет токен и зарегестрирует на нужном траспорте."

Т.е. просто пишем максимально удобное приложение по получению токена. Можно даже для винды сделать для популярных клиентов авторегистрацию через винапи как-нибудь, чтобы окошко регистрации само открылось, заполнилось и закрылось.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@ernado плагины к популярным клиентам, да. Отдельное приложение это слишком. Ну если только оно будет полноценным клиентом :)

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

Или же плагин к браузеру.

from vk4xmpp.

alexeycv avatar alexeycv commented on June 29, 2024

Вариантов несколько, каждый имеет свои + и -
Писать XMPP-клиент, думаю, это уже слишком, но сделать регистрацию как можно более автоматизированную хотелось бы.

  1. плагины к браузерам. Но тут есть нюансы:
    плюс: юзер уже авторизованый
    плюс: браузер уже установленый
    минус: реализовать ХМРР-стек вряд ли получится
    минус: плагины нужны хотя бы под хром и фф
  2. Приложение
    минус требуется повторная авторизация
    плюс: можно реализовать ХМРР-стек
    плюс: все-равно какой браузер стоит в системе. можно спокойно пользовать движок ИЕ, и написать красиво на сишарпе\с++, оно будет паленькое в обеих случаях.

Можно реализовать несколько вариантов, как пользователям будет удобно так они и выберут. НО нужно тогда продумать стандарт общения приложения\плагина с транспортом.

Я думаю, это можно реализовать след. образом:

  1. для каждого транспорта есть доменное имя, на пример vk.xmppserv.ru, etc. Вешаем на это доменное имя виртуальный хост веб-сервера
  2. php-скрипт, который принимает от проги\плагина данные (номер телефона, токен, jid, и желательно некий код подтверждения)
  3. Если нужно шифрование, можно включить ssl на сервере
  4. Php и транспорт могут взаимодействовать между собой через php-клиент для xmpp, такие реализации есть. Транспорту отправляется вся нужная информация. и если пользователь подтвердит jid - проходит регистрация.

Минус обеих вариантов - пользователю в любом случае нужно что-то качать.

Вот как-то так...

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@alexeycv, xmpp-стек необязателен. Транспорт может слушать определённый порт, и, получив оттуда нужную информацию, будет запрашивать подписку у пользователя. Разумеется, пройдя валидацию пользователя и авторизацию во ВК. Кстати, вот опрос: https://vk.com/feed?w=wall-58881104_151

from vk4xmpp.

ernado avatar ernado commented on June 29, 2024

Пользователеь переживет, если надо будет что-то скачать один раз без установки.
Хорошая идея - поднять для транспорта еще и что-то, что бы слушало на определенном порту и принимало токены. А точнее пару (token, jid).
Телефоны и пароли лучше не трогать.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

Отправлять нужную информацию можно и в xmpp

On 15 янв. 2014 г., at 18:41, "Roman K." [email protected] wrote:

@alexeycv, xmpp-стек необязателен. Транспорт может слушать определённый порт, и, получив оттуда нужную информацию, будет запрашивать подписку у пользователя.


Reply to this email directly or view it on GitHub.

from vk4xmpp.

santiago26 avatar santiago26 commented on June 29, 2024

По результатам всего обсуждения в тикете, мне кажется, что проще всего для людей будет всё-таки существующая система. Просто нужно поменять форму, сделать её более понятной. Чайникам чайниковое, продвинутым - продвинутое.
Есть несколько утверждений, которые я поддерживаю:

  • джаббер-транспорт работает через транспорт
  • приложение или плагин к браузеру для регистрации на транспорте - это излишняя сущность, усложнение процесса
  • обеспечить регистрацию через веб вдобавок к регистрации через XMPP - хорошая идея, если получится

Итого, я предлагаю ограничиться упрощением формы регистрации. Минимум затрат, максимум эффекта.
Слева как сейчас, справа как предлагаю.
image

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@santiago26 судя по вчерашней беседе, веб-регистрация невозможна.

from vk4xmpp.

santiago26 avatar santiago26 commented on June 29, 2024

Тем не менее возможно продублировать текущую джаббер-форму в вебе (исходя из того, что кому-то может быть удобнее нажимать ссылку в браузере, а не копипастить и т.д.), но вот нужно ли - действительно не знаю. Упрощение не слишком большое.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

Продолжая затянувшееся обсуждение.
Я не хочу закрывать это issue до того момента, пока вопрос не будет исчерпан.
Реквестую новые предложения касательно user-friendly регистрации. На текущий момент, мы определились, что веб-регистрация не представляется возможной или же она будет ненамного проще формы регистрации в транспорте. Разве что, совсем чуть.
Можно остановиться на варианте @santiago26 и изменить наконец эту страшную форму на что-то поприличнее.
Среди предложений был упомянут плагин для браузеров. Некоторое время назад, я был готов взяться за этот вариант, теперь же, я считаю, что установка какого-то плагина в браузер будет лишней.
Есть ли у вас ещё какие-то предложения?

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

Предлагаю запилить плагины в клиенты. Пользователь посылает запрос регистрации, клиент получает форму, клиент находит в ней ссылку на страницу авторизации (для удобства ее можно пометить отдельным пакетом со своим xmlns), открывает пользователю окошко браузера, пользователь подтверждает, клиент забирает токен и отправляет. Так собственно работают клиенты Google Talk, например.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, клиентов слишком много, чтобы под каждый писать плагин.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@mrDoctorWho а зачем под все? Достаточно пары любимых, и документации для остальных.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

Алсо, реквестирую поддержку roster management XEP-320, на уровне spectrum/ejabberd.git/prosody mod_remote_roster, дабы не добавлять контакты руками.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

@vitalyster, я ожидал этого ответа. У меня есть подозрения, что тот же плагин под Psi+ по объёму кода будет больше, чем весь транспорт. Да и зачем придумывать какие-то левые xmlns?
По поводу roster management рекомендую создать отдельный issue. И может быть всё-таки XEP-0321?

from vk4xmpp.

alkorgun avatar alkorgun commented on June 29, 2024

Совсем упоролись уже.

from vk4xmpp.

vitalyster avatar vitalyster commented on June 29, 2024

@mrDoctorWho для открытия окошка браузера и выдирания токена после перенаправления -есть кучи готовых библиотек-клиентов, то есть оно будет аналогично тому, что делается в приложениях для vk, с той разницей, что токен отправится через xmpp-форму на сервер.

from vk4xmpp.

mrDoctorWho avatar mrDoctorWho commented on June 29, 2024

Появилось видение, как это можно реализовать через веб-интерфейс.

С помощью XEP-0070 мы подтвердим, что пользователь владеет аккаунтом, далее backend пойдёт и выполнит стандартную процедуру авторизации во ВКонтакте, передаст токен и jid транспорту, а тот через Roster Management должен засунуть всех в ростер.

К сожалению, ВКонтакте всё ещё не позволяет отправлять редиректы куда попало, поэтому пользователю придётся вводить логин и пароль от ВК в веб-интерфейсе транспорта.

from vk4xmpp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.