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

LDAP integration #33

Closed
freescout-helpdesk opened this issue Aug 24, 2018 · 15 comments
Closed

LDAP integration #33

freescout-helpdesk opened this issue Aug 24, 2018 · 15 comments
Labels
help wanted Extra attention is needed

Comments

@freescout-helpdesk
Copy link
Owner

Implement LDAP integration

@freescout-helpdesk freescout-helpdesk added the help wanted Extra attention is needed label Aug 24, 2018
@tareko
Copy link

tareko commented Nov 5, 2018

This is one of those things that's obvious to all of us, but it would be very helpful if we could have LDAP integration, especially since this application is targeted at the enterprise.

@freescout-helpdesk
Copy link
Owner Author

Will try to implement this

@tareko
Copy link

tareko commented Nov 11, 2018

Hi.

I'm curious why this is closed. I looked through the remaining open issues and don't see something open that covers LDAP. Should we reopen this?

tarek : )

@freescout-helpdesk
Copy link
Owner Author

freescout-helpdesk commented Nov 11, 2018

It will not be included in the core, but implemented as module.

@freescout-helpdesk
Copy link
Owner Author

@tareko do you need integration with one LDAP server or multiple LDAP servers?

@tareko
Copy link

tareko commented Nov 20, 2018

Personally, one.

@tareko
Copy link

tareko commented Nov 20, 2018

Do you have a mechanism for putting bounties on these things? I'd be happy to contribute to this effort.

@freescout-helpdesk
Copy link
Owner Author

No need, thanks.

Do you need to map all your LDAP users into same mailboxes or different departments (different Search Bases) need to have access to different mailboxes?

@tareko
Copy link

tareko commented Nov 20, 2018

FOR ME, using it as a login mechanism is enough (authentication). For others, using it as an authorization mechanism is necessary like you say. Happy to try to map it out.

@freescout-helpdesk
Copy link
Owner Author

What LDAP server are you using? Active Directory, OpenLDAP or any other?

@tareko
Copy link

tareko commented Nov 21, 2018

I use OpenLDAP exclusively

@freescout-helpdesk
Copy link
Owner Author

freescout-helpdesk commented Nov 21, 2018

Do you have emails in your LDAP database? Without emails in LDAP database it will be impossible to authenticate. First name and Last name also will be obligatory attributes.

@tareko
Copy link

tareko commented Nov 23, 2018

Not sure what you mean? Yes, I have the email attribute assigned. I have first name, last name, and common name attributes.

@freescout-helpdesk
Copy link
Owner Author

You can check it: https://freescout.net/module/ldap/

@laurivosandi
Copy link

laurivosandi commented Dec 8, 2020

I found LDAP module to be quite fustrating to configure.

Modern AD setup requires encryption so AD-s CA cert must be made accessible inside the deployment. I found it quite fustrating to blindly debug, for instance what is the difference between SSL and TLS? Knowing PKI quite a bit I found this distinction nonsense in this case. Docs don't mention anything about how to make the CA cert available for the deployment.

In the end I had to specify Encryption: SSL and TLS_CACERT /etc/openldap/ca.pem in ldap.conf and mount it to use it with Docker images:

volumes: 
- path/to/tls/ca.pem:/etc/openldap/ca.pem:ro
- path/to/ldap.conf:/etc/openldap/ldap.conf:ro

Bind DN as used in the UI currently definitely diverges what is known in the LDAP ecosystem. I think you should use "Base DN" term, or just omit username and let the user specify the full Bind DN.

Connect & Fetch resets fristname and surname selectors to objectclass which doesn't make sense and if attribute is not set for whatever user is picked (eg sn) it is not shown in the combobox.

Finally I got the group membership filter working and users imported and updated including the user for myself which was created during Freescout install, but at Freescout login prompt my user still is authenticated with the password initially created by Freescout install. I expected my user object to be updated to use LDAP auth as well.

Final issue is SSO - it just does not work. I inserted var_dump into the code to see what PHP sees for $_SERVER and HTTP_REMOTE_USER is definitely there with my username and the attribute is set to samaccountname in the LDAP config UI. Additionally when I change the header name or attribute name in the UI and hit Save the changes are not made permanent. I have to click around randomly on the page before Save actually makes it permanent.

tl;dr - For paid feature like this please have some testing. You can setup Samba instance which is for this usecase 100% AD compatible and you can test the behaviour.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants