我们有一个社交网络网站,用户可以添加联系人,我们希望将其与XMPP集成。 我们目前使用ejabberd XMPP服务器。
以下是我的问题:
1. 如何正确创建帐户?现在,我正在考虑在用户注册我们的Web应用程序时,调用一个脚本来执行ejabberd命令以创建用户。 2. 用户认证。在用户登录我们的网站时,用户将自动登录聊天系统。如何在客户端使用strophe.js完成此操作?据我所知,您需要提供JID和密码进行身份验证,因此我想,在登录时,将进行一个ajax调用以获取用户的密码,然后在strophe.js的登录调用中使用响应文本。这是安全的吗?还有其他方法吗? 3. 在线状态注册。我们的Web应用程序有一个联系人系统,但XMPP通过订阅在线状态有自己的添加联系人方式,对吧?例如:当用户1尝试添加用户2时,必须经过用户2的授权才能将用户1添加为用户2的联系人。但是,由于我们已经在我们的Web应用程序中拥有了联系人系统,我们希望绕过XMPP的此类授权或抑制它,并在用户2在我们的网站上确认用户1为联系人时,使用脚本/命令进行授权。我还不确定,但同事说这在ejabberd的模块mod_admin_extra上是可能的(一种无需客户端授权即可创建订阅的命令)。这是可能的吗?还是我必须使用脚本手动操纵ejabberd数据库(假设我从默认的Mnesia数据库转移到另一个数据库,比如MySQL)。
提前感谢。
以下是我的问题:
1. 如何正确创建帐户?现在,我正在考虑在用户注册我们的Web应用程序时,调用一个脚本来执行ejabberd命令以创建用户。 2. 用户认证。在用户登录我们的网站时,用户将自动登录聊天系统。如何在客户端使用strophe.js完成此操作?据我所知,您需要提供JID和密码进行身份验证,因此我想,在登录时,将进行一个ajax调用以获取用户的密码,然后在strophe.js的登录调用中使用响应文本。这是安全的吗?还有其他方法吗? 3. 在线状态注册。我们的Web应用程序有一个联系人系统,但XMPP通过订阅在线状态有自己的添加联系人方式,对吧?例如:当用户1尝试添加用户2时,必须经过用户2的授权才能将用户1添加为用户2的联系人。但是,由于我们已经在我们的Web应用程序中拥有了联系人系统,我们希望绕过XMPP的此类授权或抑制它,并在用户2在我们的网站上确认用户1为联系人时,使用脚本/命令进行授权。我还不确定,但同事说这在ejabberd的模块mod_admin_extra上是可能的(一种无需客户端授权即可创建订阅的命令)。这是可能的吗?还是我必须使用脚本手动操纵ejabberd数据库(假设我从默认的Mnesia数据库转移到另一个数据库,比如MySQL)。
提前感谢。