У нас есть сайт социальной сети, где у людей есть контакты, и мы хотим, чтобы он был интегрирован с XMPP. В настоящее время мы используем XMPP-сервер ejabberd.
Вот мои вопросы:
-
Как правильно создать учетную запись? Прямо сейчас, я думаю о регистрации пользователя в нашем веб-приложении, мы бы назвали script, который выполнил бы команду ejabberd для создания пользователя.
-
Аутентификация пользователя. После входа пользователя на наш сайт пользователь будет автоматически войти в систему чата. Как вы это делаете на стороне клиента с помощью strophe.js? Насколько я понимаю, вам нужно предоставить JID и пароль для аутентификации, поэтому я думаю, что при входе в систему будет существовать вызов ajax, чтобы получить пароль пользователя, а затем использовать текст ответа на вызов входа в систему strrophe.js. Это безопасно? Существуют ли другие способы сделать это?
-
Регистрация присутствия. У нашего веб-приложения есть система контактов, но у XMPP есть собственный способ добавления контактов через подписку на присутствие, верно? Пример. Когда пользователь1 пытается добавить user2, авторизация будет запрашиваться пользователю2 до того, как пользователь1 станет контактом user2. Но поскольку у нас уже есть система контактов в нашем веб-приложении, мы хотим обойти эту авторизацию XMPP или подавить ее и просто авторизировать с помощью команды script/, когда user2 подтверждает user1 как контакт на нашем веб-сайте. Мне пока не ясно, но коллега сказал, что это возможно на модуле ejabberd mod_admin_extra (команда, которая будет создавать подписку без авторизации на стороне клиента). Возможно ли, или мне нужно вручную манипулировать базой данных ejabberd с помощью script (если я передал из дефолтного Mnesia db в другой db, скажем, MySQL).
Спасибо заранее.