I'm currently trying to implement SASL/EXTERNAL
auth for OpenLDAP client written in Golang.
By other words, I want to load the following data:
ldapsearch -Y EXTERNAL -H ldapi:// -s base -b 'olcDatabase={1}mdb,cn=config' olcSyncRepl
I'm using https://github.com/go-ldap/ldap library. Unfortunately, the library supports simple authentication only. I'm happy to implement SASL/EXTERNAL
but I could not recognize how the protocol works? For example, there is https://ldap.com/ldapv3-wire-protocol-reference-bind/ CRAM-MD5
authentication process.
I want to get the same explanation for SASL/EXTERNAL
.
I connected to the unix socket (ldapi://
) successfully. But I don't understand what kind of commands need to send programmatically to complete authentication.