Project

General

Profile

Restricted user registration using Tigase

Pankaj Sharma
Added over 3 years ago

Hi,

We have a specific requirement where tigase server is supposed to work in tandem with separate component hosting public REST APIs.

Where user register via REST APIs and also provide other functionality over REST, but tigase server is used to send any urgent messages/notifications from system and/or other users of the system.

For system consistency we want to restrict user registration to tigase over xmpp and only be registered via REST APIs. One possible solution could be to create an internal component which only receives xmpp messages(messages only contain user credentials) from REST APIs and registers the user in the tigase data store. REST APIs return user credentials as part of the registration call, which upon receiving by client initiates a xmpp connection to tigase.

Also I would like to know what is ideal way of communication between a REST server and Tigase server. I understand there is separate project for Tigase REST interface, but not sure about the scope of it and how much it can be customized in terms of functionality provided.

Thanks in advance.


Replies (1)

Added by Wojciech Kapcia TigaseTeam over 3 years ago

For system consistency we want to restrict user registration to tigase over xmpp and only be registered via REST APIs.

You can disable in-band registration (either on per domain basis or completely by disabling the plugin) which will prevent users from registering.

In terms of provisioning users you can use admin-ad hoc commands executed through either Tigase rest or regular xmpp connection with admin permissions.

Alternatively you can use custom AuthenticationConnector which would authenticate users based on your own database or credential provider so there won't be any need to provision users in Tigase at all.

Also I would like to know what is ideal way of communication between a REST server and Tigase server. I understand there is separate project for Tigase REST interface, but not sure about the scope of it and how much it can be customized in terms of functionality provided.

It's described in tigase HTTP API project page Virtually it has it own scripts as well as it can serve as a mean to execute regular admin ad-hoc commands in Tigase so it's very flexible.

    (1-1/1)