cschiewek / devise_ldap_authenticatable

Devise Module for LDAP
MIT License
594 stars 359 forks source link

Fix LDAP encryption settings translation for net-ldap 0.16 #264

Open irruputuncu opened 4 years ago

irruputuncu commented 4 years ago

I tried to configure LDAP to ignore the certificate validation in development mode when using LDAPS and a test server and used the following keys in my ldap.yml to set the encryption:

  encryption:
    method: simple_tls
    tls_options:
      verify_mode: OpenSSL::SSL::VERIFY_NONE

However, because the YAML file is interpreted with string values, it was not compatible with net-ldap which always expects symbols. As a fix I updated ldap/connection.rb to translate the config to symbols if the encryption key is present. I am aware that this only takes this one use case into account and would love to extend or generalise it, if someone proposes a better approach or knows what's necessary to make the gem officially support net-ldap 0.16. But I thought that it might already be helpful to some in this version.