summaryrefslogtreecommitdiffstats
path: root/modules/auth/ldap/README.md
diff options
context:
space:
mode:
authorSergio Benitez <sbenitez@mit.edu>2015-08-12 16:58:27 -0700
committerSergio Benitez <sbenitez@mit.edu>2015-08-12 17:01:22 -0700
commit7d84d4a8f0cb30df04241f528ed74672a485274a (patch)
treee42a4d0163ac9573a75ea47e6659a8761e78d936 /modules/auth/ldap/README.md
parent631c85ba4f51d3fe910324595c154dfaf25935d2 (diff)
downloadgitea-7d84d4a8f0cb30df04241f528ed74672a485274a.tar.gz
gitea-7d84d4a8f0cb30df04241f528ed74672a485274a.zip
Significantly enhanced LDAP support in Gogs.
Diffstat (limited to 'modules/auth/ldap/README.md')
-rw-r--r--modules/auth/ldap/README.md79
1 files changed, 50 insertions, 29 deletions
diff --git a/modules/auth/ldap/README.md b/modules/auth/ldap/README.md
index 531ba85361..5d515848e2 100644
--- a/modules/auth/ldap/README.md
+++ b/modules/auth/ldap/README.md
@@ -1,43 +1,64 @@
-LDAP authentication
-===================
+Gogs LDAP Authentication Module
+===============================
-## Goal
+## About
-Authenticat user against LDAP directories
+This authentication module attempts to authorize and authenticate a user
+against an LDAP server. Like most LDAP authentication systems, this module does
+this in two steps. First, it queries the LDAP server using a Bind DN and
+searches for the user that is attempting to sign in. If the user is found, the
+module attempts to bind to the server using the user's supplied credentials. If
+this succeeds, the user has been authenticated, and his account information is
+retrieved and passed to the Gogs login infrastructure.
-It will bind with the user's login/pasword and query attributs ("mail" for instance) in a pool of directory servers
+## Usage
-The first OK wins.
+To use this module, add an LDAP authentication source via the Authentications
+section in the admin panel. The fields should be set as follows:
-If there's connection error, the server will be disabled and won't be checked again
+Authorization Name (required)
+ A name to assign to the new method of authorization.
-## Usage
+Host (required)
+ The address where the LDAP server can be reached.
+ Example: mydomain.com
+
+Port (required)
+ The port to use when connecting to the server.
+ Example: 636
-In the [security] section, set
-> LDAP_AUTH = true
+Enable TLS Encryption (optional)
+ Whether to use TLS when connecting to the LDAP server.
-then for each LDAP source, set
+Bind DN (optional)
+ The DN to bind to the LDAP server with when searching for the user.
+ This may be left blank to perform an anonymous search.
+ Example: cn=Search,dc=mydomain,dc=com
-> [LdapSource-someuniquename]
-> name=canonicalName
-> host=hostname-or-ip
-> port=3268 # or regular LDAP port
-> # the following settings depend highly how you've configured your AD
-> basedn=dc=ACME,dc=COM
-> MSADSAFORMAT=%s@ACME.COM
-> filter=(&(objectClass=user)(sAMAccountName=%s))
+Bind Password (optional)
+ The password for the Bind DN specified above, if any.
-### Limitation
+User Search Base (required)
+ The LDAP base at which user accounts will be searched for.
+ Example: ou=Users,dc=mydomain,dc=com
-Only tested on an MS 2008R2 DC, using global catalog (TCP/3268)
+User Filter (required)
+ An LDAP filter declaring how to find the user record that is attempting
+ to authenticate. The '%s' matching parameter will be substituted with
+ the user's username.
+ Example: (&(objectClass=posixAccount)(uid=%s))
-This MSAD is a mess.
+First name attribute (optional)
+ The attribute of the user's LDAP record containing the user's first
+ name. This will be used to populate their account information.
+ Example: givenName
-The way how one checks the directory (CN, DN etc...) may be highly depending local custom configuration
+Surname name attribute (optional)
+ The attribute of the user's LDAP record containing the user's surname
+ This will be used to populate their account information.
+ Example: sn
-### Todo
-* Define a timeout per server
-* Check servers marked as "Disabled" when they'll come back online
-* Find a more flexible way to define filter/MSADSAFORMAT/Attributes etc... maybe text/template ?
-* Check OpenLDAP server
-* SSL support ? \ No newline at end of file
+E-mail attribute (required)
+ The attribute of the user's LDAP record containing the user's email
+ address. This will be used to populate their account information.
+ Example: mail