-
Notifications
You must be signed in to change notification settings - Fork 11k
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
Prioritize LDAP support #172
Comments
👍 It sure be nice to have it and it is really important if you want to get organizations into this product. They are key to the success of this project. |
Hi all, I am karthick. I have just started looking through Meteor,node and all Could someone please suggest me some simple task to kick start my On Mon, Jun 8, 2015 at 5:10 PM, shahar3012 notifications@github.com wrote:
Thanks, DISCLAIMER: This e-mail and any files transmitted with it are for the sole use of |
@karthick-i2i I don't think this is the right place to ask that. but, you can see the issues list and pick one you think is the easiest to do. ;) @rockneverdies55 and @shahar3012 , what you think is the most important thing on LDAP integration? The authentication? The structure? |
Some options to deploy something fast. |
@sampaiodiego - I'm inclined to say "authentication" but at the same time I'm not really sure what you mean by "structure"... |
@rockneverdies55 I know that LDAP (or active directory) can store a lot of "data" (such as groups). An LDAP integration could create a room for every "group" (or whatever), but this could be a lot complex. An authentication support could be easy to do, on the first configuration page ( #96 ) you may choose if the Rocket.Chat uses LDAP authentication or others methods. |
Yes, I definitely agree. For now authentication should be the primary goal as a first step. |
👍 Right now, LDAP auth is one of the reasons why I stick with Let's Chat. Would be cool if RocketChat added support for it. |
By Kerberos you mean |
@Schniz - By kerberos, I meant support for authenticating users via Kerberos. So the direct answer to your question would be user/password probably... But I'm not very clear on your question either; Kerberos vs |
@rockneverdies55 I think what @Schniz meant is that it would be nice to have a Kerberos authentication that works with The If you decide to make a complete SSO solution you could use Kerberos library with meteor that does the authentication and all the things that I have mentioned. I don't think you should go to user/password authentication because in most cases organizations don't use username and password for SSO, they use smart cards or other biometric devices to identify users so in such case user/password is no longer needed - the credentials received from the operating system that support such things. |
I'll add a bit to it. Many organizations use Kerberos as the SSO, without using the user/passwords but using tickets via GSSAPI. So why shouldn't we use GSSAPI? well, there is no node module available yet for it. many orgs use Nginx or httpd as their Reverse Proxy services and use their SSO plugins in that way by providing a request header called There's even a passport plugin implementing this type of authentication called passport-reverseproxy |
LDAP auth is important for me as well. |
Hello, Also needing the ldap backend to try it in a brazilian government company ;-) Congrats guys, you are doing an amazing jog ! |
LDAP support is now available! We need to add a settings config for defining host and other parameters. Currently it is hardcoded in /server/lib/ldap.coffee with a testing server. |
Thank you! |
@marceloschmidt - Thanks for taking care of this. Is "settings config" stuff in progress currently? Is there an issue or something to follow up the development on that? |
There is now: #222 |
Thanks @marceloschmidt. Would you like to update |
Done :) |
Hey Guys, Ive added LDAP support and added the DN of a service account, Port and URL - Rocket chat allows login with any username for as long as the password matches that of the service account? How has it been set to authenticate? are you sending the username with the base DN to the LDAP server with password to authenticate? - at the moment it seems to ignore the username and just send the LDAP DN in the settings page and the password on the UI login? Do you have any documentation for this with examples? or let me know where the rocket chat ogs are to troubleshoot? |
Yes, the only check at this point is for username and password. When the logging happens, the username is not used. But are working on it, and there is a pull request being merged today. Can you take a look and give some feedback? |
@Megatronic79 now you can pass a query for LDAP to get user's DN, try this: |
Downloaded and testing the new changes, without a LDAP_BIND_search entry it seems the usernamer is still not being passed to the logon, i can use any username with the read-only-admin password and it will log them in. If i use the filter above the logon hangs at please wait... Ive tried changing the uid= samaccount (as this is AD) but still get the hang, do we have any more information as to what scope and sub are? is this the search scope? Where are the logs of the ldap on rocket.chat to see what is being passed to the ldap server? |
Looking in the logs here: /var/log/rocket.chat/app-0.log I can see the Attempt to bind is trying the entry in LDAP_DN. Should we first be trying to logon with the LDAP_DN (with a password as anonymous is prob not going to work) and then once authenticated search for the user in LDAP? otherwise do we need LDAP_DN instead set the base DN and attempt a logon? passing the username and password direct from the UI? |
@rodrigok any ideas? |
Im just putting an LDAP server online for @rodrigok to test against |
thanks @Megatronic79 |
Latest changes from @rodrigok working great for LDAP authentication against Active directory - Group Filter is also working as expected. We should update the Settings page to capture this information to make it clearer for users: LDAP Settings Page: BaseDN: (Root of the domain) Then LDAP Filter is passed in the background as {"filter": "Ldap Group Filter", "scope": "sub", "userDN": "Bind UserDN", "password": "Bind UserPW"} Good work by @rodrigok in this one. |
👍 👍 👍 |
👍 COOL! @guarilha can copy this to the wiki? |
Has anybody tried connecting to a LDAP server with self signed certificate (via ldaps url) ? |
It would make adopting or checking out Rocket.Chat much easier for organizations if LDAP (and Kerberos too possibly) was supported.
In
Readme
it's listed as a planned feature however it's not in any of the current milestones.Is it possible to prioritize LDAP support?
The text was updated successfully, but these errors were encountered: