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

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.

Related

Signalr update claims

I have an signalr hub with web socket transport and initially it is allowed for unauthenticated users to connect. What I am trying to achieve is to have events to be pushed from the hub to connected clients and user specific events only if there is an authenticated user on that connection.
The hub also exposes some methods that need authorization but the problem is that once hub connection is made there is no way to update current user/claims on that connection.
I am using Jwt Bearer tokens for authentication but I guess the authentication scheme don't play a role.

Can I create a walled garden allowing only my organisation's users to use my ejabberd instance

Can I create a walled garden allowing only my organisation's users/ clients to use my ejabberd instance/ service.
This includes registration of users done only by my backend and preventing other clients' users to register or access the server. Additionally users of another server can not be added by existing users.
This includes registration of users done only by my backend
Then probably limit mod_register using the options access_from and ip_access:
https://docs.ejabberd.im/admin/configuration/modules/#mod-register
And then write your custom web application that sends ReST or XMP-RPC queries to ejabberd's
https://docs.ejabberd.im/developer/ejabberd-api/#understanding-ejabberd-commands
and executes the "register" API command:
https://docs.ejabberd.im/developer/ejabberd-api/admin-api/#register
and preventing other clients' users to register
If you use your custom web to show a formulary, that's your duty.
or access the server.
Additionally users of another server can not be added by existing users.
You may want to disable S2S (server-to-server), so communication from/to your XMPP server to other XMPP servers is not allowed.

eJabberd connection to facebook 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.

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).

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