Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

External authentication #102

Closed
pcdinh opened this issue Sep 5, 2013 · 2 comments
Closed

External authentication #102

pcdinh opened this issue Sep 5, 2013 · 2 comments

Comments

@pcdinh
Copy link

pcdinh commented Sep 5, 2013

Hi,

I find that external authentication that is implemented in ejabberd is rather inefficient, inflexible. The reason is

  1. The number of CGI processes (authentication script) is fixed when ejabberd starts. It can not be extended if the traffic is higher than planned
  2. ejabberd distributes authentication requests across CGI processes in a round robin manner without concerning if the CGI process is busy or not. External authentication script is implemented in blocking mode, that accepts a single request at a time, making it less scalable. No such thing like backlog queue.
  3. External authentication script locates in the same machine as ejabberd. They must share system resource with each other. If ejabberd is overloaded, their CGI processes will be affected
  4. Local external authentication script in a ejabberd box makes it harder to implement proper security model and deployment. External authentication script is written in a different language, requires different settings and access rules, libraries

I don't know if MongooseIM has implemented an alternative solution. E.x: do authentication via a webservice using a restful API call (isuser, auth)

PS: eJabberd's authentication engine is hard to debug

@michalwski
Copy link
Contributor

Thanks for your input. MongooseIM has the same external auth mechanism as ejabberd unfortunately. This mechanism is used very rarely and it is not recommend to use it on production because of the reasons you've pointed out.
REST Auth sounds good and we do it already but always we integrate such authentication method with already existing customer's services.
Making it more generic maybe useful.

@michalwski
Copy link
Contributor

@pcdinh take a look at our latests changes ( #274 ). We've just added new auth mechanism which may interest you.

NelsonVides pushed a commit that referenced this issue Jul 23, 2021
Merge with upstream (refactored mod_muc_iq)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants