vk4xmpp
vk4xmpp copied to clipboard
User-friendly регистрация на транспорте
Сделайте, плз, как в tweet.im - без необходимости плясок с бубном, копированием ссылок и прочих нечеловеческих усилий.
Чтоб не копировать ссылку, можно нажать галку "получать access-token автоматически" и в поле Пароль/access-token ввести свой паролик от вконтакта. Другой вопрос с плясками во время регистрации. Сам вконтакт не всегда сразу возвращает список друзей, иногда даже очень долго не отдает контакты. API сырое еще.
Так а вариант как у tweet.im чем не подходит? И пароль сливать не надо и плясать не нужно
Если просмотреть вариант с tweet.im, то фактически мы там имеем некое одно приложение, на которое подписываются пользователи. Оно соответственно берет подписки пользователей и уже с ними работает. Да, это хорошо, но тогда каждому серверу нужно будет регистрировать свою копию VK4XMPP на вконтакте, получать ключик, делать ссылку на сайте для авторизации.
Ну так имеющиеся варианты необязательно убивать
И ссылка авторизации может прекрасно быть частью транспорта, то есть не требовать настройки отдельного сервера и сайта
@vitalyster, мне кажется, вы не поняли. Транспорт не требует никакого сайта и сервера. Регистрация вышла такой, потому что я хотел добавить возможность авторизации по паролю и по токену. В первой версии окно содержало только немного инструкций и два поля — телефон и пароль. Позже была добавлена возможность авторизовываться не только по паролю. Отсюда и такая «сложная» форма. В любом случае, в интернетах полно инструкций по настройке транспортов. А инструкции в окне регистрации достаточно, чтобы понять суть.
mrDoctorWho, я прекрасно понимаю, почему получилась такая сложная форма, я предлагаю лишь решение как сделать так, чтоб регистрация была проста и понятна без всяких отдельных инструкций далекому от компьютеров пользователей. Если вы считаете, что транспортом должны пользоваться только гики, которые готовы тратить время на изучение инструкций - я тогда не по адресу, да. Ведь вроде несложно добавить в транспорт, чтоб он не только соединялся с xmpp-сервером, но и одновременно слушал порт для http-соединений, отображения формы регистрации и обработки тех самых авторизационных ссылок - удобство для пользователя станет выше на порядок. Для гика-администратора транспорта - настроить такой вариант тоже не должно вызвать проблем, плюс всегда можно пользоваться и старым способом, для тех кому это удобнее. Кроме того, http-часть в дальнейшем может понадобиться для передачи фоточек, например.
@vitalyster , Выпустим стабильную версию, там и посмотрим.
@vitalyster я уже предлагал некоторые вещи направленные на повышение удобства и стабильно получал такие ответы, так что боюсь, что мы действительно не по адресу.
+1, я за регистрацию через веб
@vitalyster, а вообще, в транспорте всего 700 строк кода, он не может работать :)
@vitalyster, идея хороша, однако, как я понял из поста на жуйке, вы хотите сделать так, чтобы юзерам не приходилось копипастить токен/url в окно транспорта. Однако здесь есть одна серьёзная проблема: ВКонтакте позволяет делать перенаправления только на указанные в настройках приложения домены и страницы. Если вы подскажете, как реализовать так, чтобы это обойти, буду рад добавить это в транспорт.
Транспорт хостит формочку для ввода джида и кнопку "зарегистрироваться", при нажатии пользователя переносит в контактик, после авторизации там приложения его перенаправляет на урл перенаправления, который тоже хостится транспортом и при получении токена - на указанный ранее джид регистрируется пользователь с полученным токеном, отсылается ему запрос подписки.
@vitalyster, в вашей идее не учтено, что URL перенаправления всегда один и задаётся он в настройках приложения ВКонтакте
@mrDoctorWho ну естественно один, те, кто ставят транспорт на свой сервер - регистрируют свое приложение и прописывают свой урл.
@vitalyster, это уже лишнее.
@mrDoctorWho если кто-то не хочет регистрировать свое приложение - он может оставить имеющуюся регистрацию
Нафиг, не надо своих приложений это точно. А вот что надо, это динамичную форму с понятными полями, сначала выбор(кнопками например), по паролю или токену, потом на той же форме или на следующей появляются только необходимые поля.
@Atterratio - пользователи жаббера такие смешные, зачем нужна форма с динамическим выбором пароля и токена? Почему нельзя сделать как у всех приложений - просто кнопку "запустить приложение"? Зачем пользователю знать про какие-то токены?
Можно добавить возможность работы через собственное приложение. (для тех, кто ставит на свой сервер, дополнительные телодвижения вроде этого не будут слишком напряжными)
Это сильно увеличит юзабилити для конечных пользователей же.
upd: вопрос в том, будет ли оно так работать вообще. Насколько я понимаю, api с сообщениями там для standalone-клиента
Одна из упоротых решений проблемы - хостить где-нибудь свое api.
Надо закрыть issue, реализация на стороне сервера невозможна, так как используется standalone api. Возможный workaround - реализация регистрации на стороне клиента. Т.е. standalone приложенте, которое автоматически возьмет токен и зарегестрирует на нужном траспорте.
@ernado речь как раз о том, что это стандалон-приложение "должно быть частью транспорта"
@ernado я правильно понимаю, что токен, который выдается серверному приложению, не подойдет для получения и отправки сообщений?
@vitalyster, так точно: https://vk.com/dev/messages.send
@mrDoctorWho ну а если пометить транспорт как standalone-приложение?
@vitalyster, транспорт таковым и является, для ВКонтакте. Но по сути он — серверное приложение.
@vitalyster смысл в том, что транспорт - это стандалон приложение, а "вход через вконтакте" доступен только для сайтов. Костыли неизбежны, это правда, но сейчас и эти костыли слишком неудобны, чтобы их мог использовать совсем любой пользователь. Можно было бы сделать веб-форму, которая обладает большим удобством, нежели джаббер-форма.
Также транспорт нарушает правила ВКонтакте и это, к сожалению, неизбежно. Если хотите без нарушения правил, и, возможно, без капчи — используйте standalone jabber-сервер «VkXmppGate».
@mrDoctorWho почему нарушает и в чем разница с VkXmppGate?