Project

General

Profile

Provisioning/Registering Users in Bulk on Server Side

Jonathan Hunter
Added almost 5 years ago

Hi guys,

I have been testing with Tigase server, and can register users via Jitsi client and all works well.

Is it possible to provision users on the server itself, say directly into the Mysql database back end?

I know theres the command line tool, but wondered what the recommended method is?

Many thanks

Jon


Replies (3)

Added by Wojciech Kapcia TigaseTeam almost 5 years ago

It all depends on what you want to achieve. As you already know there is a command line tool. You can also directly execute stored procedure in the database (simply executing TigAddUserPlainPw('username@domain','pass') ). You can even have your one user repository and configure Tigase to authenticate users against it (v. Tigase Custom Auth connector.)

If you want to stick to having everything within Tigase schema and you also have a lots of user to import I would recommend adding them on the DB level as described above.

Added by Jonathan Hunter almost 5 years ago

Great thanks for the prompt response.

I have used the stored procedure and it creates the username and password as described, however any users I create in this fashion fail authentication.

Is there something I need to add in configuration that I am missing? As only clients that have created their own accounts authenticate successfully?

My init.properties;

--user-db = mysql

--admins = admin@xmpp.mydomain.com

--user-db-uri = jdbc:mysql://localhost/tigasedb?user=tigase&password=tigase12

--auth-db = mysql

--auth-db-uri = jdbc:mysql://localhost/tigasedb?user=tigase&password=tigase12

config-type = --gen-config-def

--virt-hosts = xmpp.mydomain.com

--debug = server

--vhost-register-enabled = true

I do see in the logs some errors with reference to;

$ProcessorWorkerThread.process(SessionManager.java)

at tigase.util.WorkerThread.run(WorkerThread.java)

Caused by: javax.security.sasl.SaslException: DIGEST-MD5: IO error acquiring password [Caused by java.io.IOException: Password retrieving problem.]

Sorry for the further question but any pointer would be great.

Thanks

Jon

Added by Wojciech Kapcia TigaseTeam almost 5 years ago

--auth-db = mysql

By default Tigase uses different authentication mechanism (@tigase-custom@, which is also based on stored procedures) than the one you've configured. While executing stored procedure you're creating user which data is stored in a bit different manner which also includes storing password.

It's recommended since version 5.1.0 to use tigase-custom as authentication mechanism. If you want to convert old users you can use TigUsers2Ver4Convert stored procedure.

    (1-3/3)