go-ldap/ldap

Basic LDAP v3 functionality for the GO programming language.

2,452

stars

399

commits

Go

primary language

Sep 7, 2026

updated

README

GoDoc

Basic LDAP v3 functionality for the GO programming language.

The library implements the following specifications:

Features:

  • Connecting to LDAP server (non-TLS, TLS, STARTTLS, through a custom dialer)
  • Bind Requests / Responses (Simple Bind, GSSAPI, SASL)
  • "Who Am I" Requests / Responses
  • Search Requests / Responses (normal, paging and asynchronous)
  • Modify Requests / Responses
  • Add Requests / Responses
  • Delete Requests / Responses
  • Modify DN Requests / Responses
  • Unbind Requests / Responses
  • Password Modify Requests / Responses
  • Content Synchronization Requests / Responses
  • LDAPv3 Filter Compile / Decompile
  • Server Side Sorting of Search Results
  • LDAPv3 Extended Operations
  • LDAPv3 Control Support

Go Modules:

go get github.com/go-ldap/ldap/v3

Contributing:

Bug reports and pull requests are welcome!

Before submitting a pull request, please make sure tests and verification scripts pass:

# Setup local directory server using Docker or Podman
make local-server

# Run gofmt, go vet and go test
cd ./v3
make -f ../Makefile

# (Optionally) Stop and delete the directory server container afterwards
cd ..
make stop-local-server

The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/) The design is licensed under the Creative Commons 3.0 Attributions license. Read this article for more details: http://blog.golang.org/gopher

Contributors

(top 30 of 102)

johnweldon

92 commits

cpuschma

42 commits

liggitt

38 commits

t2y

18 commits

go-ldap/ldap

Basic LDAP v3 functionality for the GO programming language.

2,452

stars

399

commits

Go

primary language

Sep 7, 2026

updated

README

GoDoc

Basic LDAP v3 functionality for the GO programming language.

The library implements the following specifications:

Features:

  • Connecting to LDAP server (non-TLS, TLS, STARTTLS, through a custom dialer)
  • Bind Requests / Responses (Simple Bind, GSSAPI, SASL)
  • "Who Am I" Requests / Responses
  • Search Requests / Responses (normal, paging and asynchronous)
  • Modify Requests / Responses
  • Add Requests / Responses
  • Delete Requests / Responses
  • Modify DN Requests / Responses
  • Unbind Requests / Responses
  • Password Modify Requests / Responses
  • Content Synchronization Requests / Responses
  • LDAPv3 Filter Compile / Decompile
  • Server Side Sorting of Search Results
  • LDAPv3 Extended Operations
  • LDAPv3 Control Support

Go Modules:

go get github.com/go-ldap/ldap/v3

Contributing:

Bug reports and pull requests are welcome!

Before submitting a pull request, please make sure tests and verification scripts pass:

# Setup local directory server using Docker or Podman
make local-server

# Run gofmt, go vet and go test
cd ./v3
make -f ../Makefile

# (Optionally) Stop and delete the directory server container afterwards
cd ..
make stop-local-server

The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/) The design is licensed under the Creative Commons 3.0 Attributions license. Read this article for more details: http://blog.golang.org/gopher

Contributors

(top 30 of 102)

johnweldon

92 commits

cpuschma

42 commits

liggitt

38 commits

t2y

18 commits

Languages

Go

99.3%