eJabberd connection to facebook xmpp - xmpp

I am creating chat application that will connect to facebook chat via XMPP. I installed eJabberd server, and, I am looking for a way to to hook to messages that comes from the client in order to add the access token and the api key/secret to the message before I am sending it to facebook, and I can't figure out how to do it, is it via one of the pre defined ejabber modules, or I need to develop one?
** I can connect with pidgin to facebook xmpp using the eJabberd server I installed.
Thanks.

Related

XMPP chat app architecture suggestion

I have a chat app having web service installed on tomcat server, ejabberd as XMPP server. Right now i am using strophe.js on client side to directly communicate with ejabberd server for chatting purpose.
Is this correct chat app design ? or shall I send chat through tomcat server so that xmpp server is not accessible directly from client side ? Can anyon suggest a better design ?
You should connect your clients directly to ejabberd (or through a proxy like NGinx). ejabberd is designed to receive lot of traffic directly and using Tomcat as proxy will not be scalable and is not recommended.

Ejabberd - Exauth authentication works but user showing Not Authoried to each other in pidgin

I installed Ejabberd server and configured ExAuth for a php script. I am checking the chat with pidgin chat client on ubuntu and windows xp(in virtualbox). I am able to login via ExAuth (where users listed in my mysql database) in both ubuntu and windows with different users.
However They are unable to chat each other as each other status is showing as Not Authorized.
Early I checked with internal auth_method. Where i added two users via web admin, and then login both at windows and linux machine. When i add buddy, then request goes to other user, After request approval by other user, Chat was worked. But in ExAuth Even after sending request, Other user did not receive any request.
If any body know where can be the problem area ?
I think you are confusing authentication (allowing to open an XMPP session on the server) and presence subscription as defined in the roster (you should still be able to chat presence subscription is Independant from messaging).

How to sync up xmpp server openfire users and iOS APP users

I am using "openfire" as xmpp server. And I am implementing the xmpp client in my APP to provide the chat service to all members. The openfire has its own database said db1. My iOS APP also has its own database said db2. How can I sync up the user tables between these two databases (db1 and db2)? For example, when user signup my APP, I would like to create the same account in xmpp server database. And when user login into my APP service, I would like to have user login into xmpp server automatically.
Don't try to synch the databases, you need to write a custom authentication provider for Openfire to use db2.
As for the login, you will just have to login to both at the same time. It can't be done via the other service since that cannot create a connection between you client and the XMPP server.

create jabber ID on Server

I have configured BOSH connection manager i.e. Punjab on my server
so far i was using register.jabber.org to create jabber account , now i want to create my own JID for my users over my server so can anyone tell me how would i do that ?
so far i was using following end point for jabber bosh service
http://bosh.metajack.im:5280/xmpp-httpbind
to run example of Wrox Professional XMPP programming with Javascript and Jquery
if you want more information then please do ask , rather then closing a question
i am using strophe as a javascript client
http://localhost:5280/xmpp-httpbind as BOSH_SERVICE_URL
In order to create an account on ejabberd you can either:
Locate ejabberdctl and do:
./ejabberdctl register user_id domain password
Login to http://localhost:5280/admin as your ejabberd admin and register a user from the web ui.
Enable web registration on ejabberd and visit http://localhost:5280/register
If you want to do that through javascript you need to implement the Add User command from XEP-133 with Strophe.
to create a jabber ID account , you need to run ejabberd server and fire on
http://www.mydomain.com:5280/register/
and click on Register a Jabber account to create jabber ID on your server

xmpp framework to login different gateways like Gtalk using openfire id

How can I login different gateways like google and yahoo using xmpp framework. I am using openfire server. Thanks in advance
GTalk uses Xmpp, so you can chat between gtalk and openfire users using s2s federation (which should be on by default in openfire). Yahoo is it's own protocol and you'd need the IM gateway plug-in for openfire. However that seems to be deprecated and instead there is now the standalone IM gateway, Kraken, which should do what you want