I was recently faced with a bit of a coding challenge whereby I needed to get LDAP authentication working via SSL/TLS using Node. Unfortunately for me Node.js is a relatively new language and a secure LDAP library is still on the wish list. When I was first given this task, I actually didn't know where to start. I looked into creating a Node wrapper for some of the OpenLDAP
libraries written in C. My project team was already using node-ldapauth
, which utilizes OpenLDAP behind the scenes, so extending that was a possibility. I felt though that there must be an easier alternative, especially given how powerful node is with I/O. So I decided to implement a kind of TLS/SSL tunnel/port forward solution and use it in conjunction with node-ldapauth. Node v0.4.7 already has a built-in TLS connection library
, so it was just a matter of constructing a 'tunnel' with a non-secure socket on one end, and a secure socket on the other.
04 July, 2011