mumble-voip / mumble-scripts

Mumble scripts is a place for gathering various scripts written for the Mumble VoIP application.
https://www.mumble.info
48 stars 31 forks source link

Authenticator :How to handle multi virtual servers? #25

Closed binooetomo closed 4 years ago

binooetomo commented 4 years ago

Dear All. I'm learning on how to write authenticator.

Currently I have a simple one, just with hardcoded username, password and group name.

It's based on https://github.com/mumble-voip/mumble-scripts/blob/master/Authenticators/phpBB3/phpBB3auth.py

From the .ini file and code line 399, looks like a single authenticator 'daemon' can handle authentication request from multiple virtual servers.

But in class phpBBauthenticator (line 444) I could not find/understand how this class will know which virtual server make a call.

Kindly please give me some clue.

Kissaki commented 4 years ago

The authenticator, if registered to the virtual server, will be invoked when a user connects = authenticates.

The authenticator does not (need to know) which virtual server it operates on.

If you do not want it used on some virtual servers simply do not register them there.

The ini defines which virtual servers to register on and around line 399 will register (as per comment) to the defined servers.

binooetomo commented 4 years ago

@Kissaki Sir.

Yes Authenticator does not need to know which virtual server make a call.

But then, the authenticator 'ask' another backend (i.e LDAP, PHPBB) In my case, the backend will be a django app. And I have a table with field 'user' and 'server' in it.

So I want to know if I can get 'server id' or 'server name' as part of authenticator request to my backend.

Thankyou for taking time to give me response. I really appreciate.

Kissaki commented 4 years ago

Atm no.

What I would suggest is configuring and running multiple authenticators then. After all they represent different authentication backends/logic.

Kissaki commented 4 years ago

As you are writing one yourself you can of course make your configuration adequately, and register different authenticators on different virtual servers.

Kissaki commented 4 years ago

I believe the question is answered so I am closing this.