Comments (67)
Чтоб не копировать ссылку, можно нажать галку "получать access-token автоматически" и в поле Пароль/access-token ввести свой паролик от вконтакта.
Другой вопрос с плясками во время регистрации. Сам вконтакт не всегда сразу возвращает список друзей, иногда даже очень долго не отдает контакты. API сырое еще.
from vk4xmpp.
Так а вариант как у tweet.im чем не подходит? И пароль сливать не надо и плясать не нужно
from vk4xmpp.
Если просмотреть вариант с tweet.im, то фактически мы там имеем некое одно приложение, на которое подписываются пользователи. Оно соответственно берет подписки пользователей и уже с ними работает. Да, это хорошо, но тогда каждому серверу нужно будет регистрировать свою копию VK4XMPP на вконтакте, получать ключик, делать ссылку на сайте для авторизации.
from vk4xmpp.
Ну так имеющиеся варианты необязательно убивать
from vk4xmpp.
И ссылка авторизации может прекрасно быть частью транспорта, то есть не требовать настройки отдельного сервера и сайта
from vk4xmpp.
@vitalyster, мне кажется, вы не поняли. Транспорт не требует никакого сайта и сервера.
Регистрация вышла такой, потому что я хотел добавить возможность авторизации по паролю и по токену.
В первой версии окно содержало только немного инструкций и два поля — телефон и пароль.
Позже была добавлена возможность авторизовываться не только по паролю. Отсюда и такая «сложная» форма. В любом случае, в интернетах полно инструкций по настройке транспортов. А инструкции в окне регистрации достаточно, чтобы понять суть.
from vk4xmpp.
mrDoctorWho, я прекрасно понимаю, почему получилась такая сложная форма, я предлагаю лишь решение как сделать так, чтоб регистрация была проста и понятна без всяких отдельных инструкций далекому от компьютеров пользователей. Если вы считаете, что транспортом должны пользоваться только гики, которые готовы тратить время на изучение инструкций - я тогда не по адресу, да.
Ведь вроде несложно добавить в транспорт, чтоб он не только соединялся с xmpp-сервером, но и одновременно слушал порт для http-соединений, отображения формы регистрации и обработки тех самых авторизационных ссылок - удобство для пользователя станет выше на порядок. Для гика-администратора транспорта - настроить такой вариант тоже не должно вызвать проблем, плюс всегда можно пользоваться и старым способом, для тех кому это удобнее.
Кроме того, http-часть в дальнейшем может понадобиться для передачи фоточек, например.
from vk4xmpp.
@vitalyster , Выпустим стабильную версию, там и посмотрим.
from vk4xmpp.
@vitalyster я уже предлагал некоторые вещи направленные на повышение удобства и стабильно получал такие ответы, так что боюсь, что мы действительно не по адресу.
from vk4xmpp.
+1, я за регистрацию через веб
from vk4xmpp.
@vitalyster, а вообще, в транспорте всего 700 строк кода, он не может работать :)
from vk4xmpp.
@vitalyster, идея хороша, однако, как я понял из поста на жуйке, вы хотите сделать так, чтобы юзерам не приходилось копипастить токен/url в окно транспорта.
Однако здесь есть одна серьёзная проблема: ВКонтакте позволяет делать перенаправления только на указанные в настройках приложения домены и страницы.
Если вы подскажете, как реализовать так, чтобы это обойти, буду рад добавить это в транспорт.
from vk4xmpp.
Транспорт хостит формочку для ввода джида и кнопку "зарегистрироваться", при нажатии пользователя переносит в контактик, после авторизации там приложения его перенаправляет на урл перенаправления, который тоже хостится транспортом и при получении токена - на указанный ранее джид регистрируется пользователь с полученным токеном, отсылается ему запрос подписки.
from vk4xmpp.
@vitalyster, в вашей идее не учтено, что URL перенаправления всегда один и задаётся он в настройках приложения ВКонтакте
from vk4xmpp.
@mrDoctorWho ну естественно один, те, кто ставят транспорт на свой сервер - регистрируют свое приложение и прописывают свой урл.
from vk4xmpp.
@vitalyster, это уже лишнее.
from vk4xmpp.
@mrDoctorWho если кто-то не хочет регистрировать свое приложение - он может оставить имеющуюся регистрацию
from vk4xmpp.
Нафиг, не надо своих приложений это точно.
А вот что надо, это динамичную форму с понятными полями, сначала выбор(кнопками например), по паролю или токену, потом на той же форме или на следующей появляются только необходимые поля.
from vk4xmpp.
@Atterratio - пользователи жаббера такие смешные, зачем нужна форма с динамическим выбором пароля и токена? Почему нельзя сделать как у всех приложений - просто кнопку "запустить приложение"? Зачем пользователю знать про какие-то токены?
from vk4xmpp.
Можно добавить возможность работы через собственное приложение. (для тех, кто ставит на свой сервер, дополнительные телодвижения вроде этого не будут слишком напряжными)
Это сильно увеличит юзабилити для конечных пользователей же.
upd: вопрос в том, будет ли оно так работать вообще. Насколько я понимаю, api с сообщениями там для standalone-клиента
from vk4xmpp.
Одна из упоротых решений проблемы - хостить где-нибудь свое api.
from vk4xmpp.
Надо закрыть issue, реализация на стороне сервера невозможна, так как используется standalone api.
Возможный workaround - реализация регистрации на стороне клиента. Т.е. standalone приложенте, которое автоматически возьмет токен и зарегестрирует на нужном траспорте.
from vk4xmpp.
@ernado речь как раз о том, что это стандалон-приложение "должно быть частью транспорта"
from vk4xmpp.
@ernado я правильно понимаю, что токен, который выдается серверному приложению, не подойдет для получения и отправки сообщений?
from vk4xmpp.
@vitalyster, так точно: https://vk.com/dev/messages.send
from vk4xmpp.
@mrDoctorWho ну а если пометить транспорт как standalone-приложение?
from vk4xmpp.
@vitalyster, транспорт таковым и является, для ВКонтакте. Но по сути он — серверное приложение.
from vk4xmpp.
@vitalyster смысл в том, что транспорт - это стандалон приложение, а "вход через вконтакте" доступен только для сайтов. Костыли неизбежны, это правда, но сейчас и эти костыли слишком неудобны, чтобы их мог использовать совсем любой пользователь. Можно было бы сделать веб-форму, которая обладает большим удобством, нежели джаббер-форма.
from vk4xmpp.
Также транспорт нарушает правила ВКонтакте и это, к сожалению, неизбежно. Если хотите без нарушения правил, и, возможно, без капчи — используйте standalone jabber-сервер «VkXmppGate».
from vk4xmpp.
@mrDoctorWho почему нарушает и в чем разница с VkXmppGate?
from vk4xmpp.
@vitalyster, нарушает тем, что, согласно правилам ВКонтакте, нельзя запускать standalone-приложения на серверах. VkXmppGate в этом отношении правильнее потому, что представляет собой программу, которую почти любой желающий юзер сможет запустить на локальной машине и использовать сколь душе угодно.
from vk4xmpp.
@mrDoctorWho ну ничего не мешает запустить vk4xmpp на локальной машине, вот то что публичные транспорты это нарушение - плохо.
from vk4xmpp.
@vitalyster, vk4xmpp требует наличие настроенного jabber-сервера, что для рядового юзера довольно сложно.
from vk4xmpp.
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.
@vitalyster, standalone-прложения должны запускаться на устройстве пользователя, а не на сервере. Почитать можно здесь.
from vk4xmpp.
Я оттуда и прочитал, не вижу там запрета.
from vk4xmpp.
@vitalyster, в самом конце:
«Обратите внимание, что обращаться к API при использовании типа «Standalone-приложение» требуется с клиента, а не со стороннего сервера.»
from vk4xmpp.
Хм, в английской версии не написано, фигово, чо.
from vk4xmpp.
А здесь говорят типа "пишите транспорты" - https://vk.com/bugs?act=show&id=28195646_1
Возможно вопрос все-таки можно уладить, связавшись с Вконтакте.
from vk4xmpp.
@vitalyster, https://vk.com/bugs?act=show&id=26250615_3
Я ещё давно зарегистрировал этот багрепорт, но никакой реакции не последовало. Аналогично и с репортом по поводу невозможности ввода капчи.
from vk4xmpp.
@mrDoctorWho ну судя по всему "нельзя" запускать на сервере не технически, а только на словах, потому этот вопрос не очень существенный, по крайней мере пока приложение не удаляют. А вот все-таки по теме вопроса - разве что-то мешает сделать веб-приложение, получающее токен и регистрирующее пользователя в базе транспорта? Оно не может получить токен, пригодный для standalone-приложений?
from vk4xmpp.
@vitalyster, можно сделать веб-приложение, но всё равно веб-регистрация будет возможна только на одном домене.
from vk4xmpp.
@mrDoctorWho ну да, я про это выше и писал - администратор транспорта заводит свое приложение в вк со своими ключами и свой домен прописывает.
from vk4xmpp.
@vitalyster, хоть эта идея мне не очень нравится, но, пожалуй, за неимением другого варианта, придётся реализовать.
from vk4xmpp.
@vitalyster, как-то странно получается. Попробовал добавить simpleapps.ru в список доменов, прошёл по ссылке и получил ответ:
{"error":"invalid_scope","error_description":"standalone applications should use blank.html as redirect_uri to access messages"}
Т.е. редирект на свои сайты делать нельзя, нужно другое решение.
from vk4xmpp.
@mrDoctorWho вот это уже совсем плохо. В таком раскладе получается только с поддержкой на стороне клиента.
from vk4xmpp.
@vitalyster, можно написать графическое Desktop-приложение, которое будет выполнять функции браузера для vk.com, получать токен и отправлять его транспорту. Если такое решение всех устраивает, в том числе, с точки зрения безопасности — написать мне его не составит труда.
Токены, кажется, не привязаны к IP.
from vk4xmpp.
Кстати, можно реализовать веб-приложение на flash или java. Но java блочится, а флеш — не лучшее решение. Но я сомневаюсь, что это можно реализовать на pure html + js.
from vk4xmpp.
Собственно, вы пришли к тому, о чем я и говорил
"Возможный workaround - реализация регистрации на стороне клиента. Т.е. standalone приложенте, которое автоматически возьмет токен и зарегестрирует на нужном траспорте."
Т.е. просто пишем максимально удобное приложение по получению токена. Можно даже для винды сделать для популярных клиентов авторегистрацию через винапи как-нибудь, чтобы окошко регистрации само открылось, заполнилось и закрылось.
from vk4xmpp.
@ernado плагины к популярным клиентам, да. Отдельное приложение это слишком. Ну если только оно будет полноценным клиентом :)
from vk4xmpp.
Или же плагин к браузеру.
from vk4xmpp.
Вариантов несколько, каждый имеет свои + и -
Писать XMPP-клиент, думаю, это уже слишком, но сделать регистрацию как можно более автоматизированную хотелось бы.
- плагины к браузерам. Но тут есть нюансы:
плюс: юзер уже авторизованый
плюс: браузер уже установленый
минус: реализовать ХМРР-стек вряд ли получится
минус: плагины нужны хотя бы под хром и фф - Приложение
минус требуется повторная авторизация
плюс: можно реализовать ХМРР-стек
плюс: все-равно какой браузер стоит в системе. можно спокойно пользовать движок ИЕ, и написать красиво на сишарпе\с++, оно будет паленькое в обеих случаях.
Можно реализовать несколько вариантов, как пользователям будет удобно так они и выберут. НО нужно тогда продумать стандарт общения приложения\плагина с транспортом.
Я думаю, это можно реализовать след. образом:
- для каждого транспорта есть доменное имя, на пример vk.xmppserv.ru, etc. Вешаем на это доменное имя виртуальный хост веб-сервера
- php-скрипт, который принимает от проги\плагина данные (номер телефона, токен, jid, и желательно некий код подтверждения)
- Если нужно шифрование, можно включить ssl на сервере
- Php и транспорт могут взаимодействовать между собой через php-клиент для xmpp, такие реализации есть. Транспорту отправляется вся нужная информация. и если пользователь подтвердит jid - проходит регистрация.
Минус обеих вариантов - пользователю в любом случае нужно что-то качать.
Вот как-то так...
from vk4xmpp.
@alexeycv, xmpp-стек необязателен. Транспорт может слушать определённый порт, и, получив оттуда нужную информацию, будет запрашивать подписку у пользователя. Разумеется, пройдя валидацию пользователя и авторизацию во ВК. Кстати, вот опрос: https://vk.com/feed?w=wall-58881104_151
from vk4xmpp.
Пользователеь переживет, если надо будет что-то скачать один раз без установки.
Хорошая идея - поднять для транспорта еще и что-то, что бы слушало на определенном порту и принимало токены. А точнее пару (token, jid).
Телефоны и пароли лучше не трогать.
from vk4xmpp.
Отправлять нужную информацию можно и в 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.
По результатам всего обсуждения в тикете, мне кажется, что проще всего для людей будет всё-таки существующая система. Просто нужно поменять форму, сделать её более понятной. Чайникам чайниковое, продвинутым - продвинутое.
Есть несколько утверждений, которые я поддерживаю:
- джаббер-транспорт работает через транспорт
- приложение или плагин к браузеру для регистрации на транспорте - это излишняя сущность, усложнение процесса
- обеспечить регистрацию через веб вдобавок к регистрации через XMPP - хорошая идея, если получится
Итого, я предлагаю ограничиться упрощением формы регистрации. Минимум затрат, максимум эффекта.
Слева как сейчас, справа как предлагаю.
from vk4xmpp.
@santiago26 судя по вчерашней беседе, веб-регистрация невозможна.
from vk4xmpp.
Тем не менее возможно продублировать текущую джаббер-форму в вебе (исходя из того, что кому-то может быть удобнее нажимать ссылку в браузере, а не копипастить и т.д.), но вот нужно ли - действительно не знаю. Упрощение не слишком большое.
from vk4xmpp.
Продолжая затянувшееся обсуждение.
Я не хочу закрывать это issue до того момента, пока вопрос не будет исчерпан.
Реквестую новые предложения касательно user-friendly регистрации. На текущий момент, мы определились, что веб-регистрация не представляется возможной или же она будет ненамного проще формы регистрации в транспорте. Разве что, совсем чуть.
Можно остановиться на варианте @santiago26 и изменить наконец эту страшную форму на что-то поприличнее.
Среди предложений был упомянут плагин для браузеров. Некоторое время назад, я был готов взяться за этот вариант, теперь же, я считаю, что установка какого-то плагина в браузер будет лишней.
Есть ли у вас ещё какие-то предложения?
from vk4xmpp.
Предлагаю запилить плагины в клиенты. Пользователь посылает запрос регистрации, клиент получает форму, клиент находит в ней ссылку на страницу авторизации (для удобства ее можно пометить отдельным пакетом со своим xmlns), открывает пользователю окошко браузера, пользователь подтверждает, клиент забирает токен и отправляет. Так собственно работают клиенты Google Talk, например.
from vk4xmpp.
@vitalyster, клиентов слишком много, чтобы под каждый писать плагин.
from vk4xmpp.
@mrDoctorWho а зачем под все? Достаточно пары любимых, и документации для остальных.
from vk4xmpp.
Алсо, реквестирую поддержку roster management XEP-320, на уровне spectrum/ejabberd.git/prosody mod_remote_roster, дабы не добавлять контакты руками.
from vk4xmpp.
@vitalyster, я ожидал этого ответа. У меня есть подозрения, что тот же плагин под Psi+ по объёму кода будет больше, чем весь транспорт. Да и зачем придумывать какие-то левые xmlns?
По поводу roster management рекомендую создать отдельный issue. И может быть всё-таки XEP-0321?
from vk4xmpp.
Совсем упоролись уже.
from vk4xmpp.
@mrDoctorWho для открытия окошка браузера и выдирания токена после перенаправления -есть кучи готовых библиотек-клиентов, то есть оно будет аналогично тому, что делается в приложениях для vk, с той разницей, что токен отправится через xmpp-форму на сервер.
from vk4xmpp.
Появилось видение, как это можно реализовать через веб-интерфейс.
С помощью XEP-0070 мы подтвердим, что пользователь владеет аккаунтом, далее backend пойдёт и выполнит стандартную процедуру авторизации во ВКонтакте, передаст токен и jid транспорту, а тот через Roster Management должен засунуть всех в ростер.
К сожалению, ВКонтакте всё ещё не позволяет отправлять редиректы куда попало, поэтому пользователю придётся вводить логин и пароль от ВК в веб-интерфейсе транспорта.
from vk4xmpp.
Related Issues (20)
- XEP-0308: Last Message Correction
- Запретить частую смену статуса online
- Страница vk.com/id100, авторизация в ростер.
- Поддержать работу от лица групп HOT 3
- TypeError: argument of type 'NoneType' is not iterable
- TypeError: 'NoneType' is not iterable
- Транспорту приходит презенс с типом unavailable после регистрации пользователя
- Транспорт при старте спамит последним сообщением HOT 14
- Ввести приоритеты для методов
- Ввести ограничение для методов, выполнение которых запрещено
- Binary builds are missing HOT 2
- Транспорт повторно отправляет сообщения HOT 2
- Список серверов в readme HOT 1
- Сообщение не поддерживается Вашим приложением HOT 1
- Missing VK4XMPP .SVG logo HOT 3
- Настройка транспорта - Получать/обрабатывать личные сообщения только от друзей.
- Форма регистрации не соответствует стандарту XEP-0077 HOT 2
- Транспорт не позволяет общаться с группами HOT 2
- поменять контакты на имена или никнеймы HOT 2
- Ошибка регистрации HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vk4xmpp.