Is there support for 3rd party authentication in the Team edition?

I’m exploring alternatives to hosting my own XMPP server, and currently my XMPP server supports the ability to have a 3rd party authentication module. Basically I have an application database with users that my users log into; with XMPP I am able to have a custom module where the XMPP authentication checks against my user database to log in.

Can I do something similar in Mattermost, where Mattermost authenticates users against my application database rather than having to maintain two separate user login stores?

@paulrothrock Would the support team know about this?

Hello, @petertirrell

As Mattermost only supports the following types of authentication based on Corporate Directory Integration:

Can you explain a little better how the XMPP authentication works? Is the flow of login comes from where the user data & information is being stored in the application database that is hosted in the XMPP server before it gets authenticated to Mattermost?

Hello, thanks, and sorry I’m just now getting back to this!

So specifically I’m coming from ejabberd, which exposes a process where the chat server can pipe authentication requests to an external script. That script does the user authentication against our own user database, and returns a true/false to the chat server indicating if the user is authenticated or not.

They have it documented here:

https://docs.ejabberd.im/developer/guide/#external

I was originally wondering if Mattermost offered something similar - I’m exploring the possibility of replacing our XMPP server with Mattermost.

Alternatively, are there any guides or recipes for integrating Mattermost into an existing application? If we already have an application with our user database, is it suggested we have some sort of process that periodically syncs our user database to the Mattermost database?

Hi, @petertirrell

Thank you for the clarification. Besides the ones that I have explained earlier, I am not aware of any other authentication methods in Mattermost but I’ll share new information if I come across any.

At the mean time, let us see if any other users have made this work before.