mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-30 00:15:23 -05:00
Update to new ldap config
This commit is contained in:
parent
776ff2960d
commit
459a325bb5
1 changed files with 111 additions and 15 deletions
126
settings.coffee
126
settings.coffee
|
@ -397,24 +397,116 @@ if parse(process.env["SHARELATEX_IS_SERVER_PRO"]) == true
|
|||
# When testing with forumsys.com use username = einstein and password = password
|
||||
|
||||
|
||||
# if process.env["SHARELATEX_LDAP_HOST"]
|
||||
# settings.externalAuth = true
|
||||
# settings.ldap =
|
||||
# host: process.env["SHARELATEX_LDAP_HOST"]
|
||||
# dn: process.env["SHARELATEX_LDAP_DN"]
|
||||
# baseSearch: process.env["SHARELATEX_LDAP_BASE_SEARCH"]
|
||||
# filter: process.env["SHARELATEX_LDAP_FILTER"]
|
||||
# failMessage: process.env["SHARELATEX_LDAP_FAIL_MESSAGE"] or 'LDAP User Fail'
|
||||
# fieldName: process.env["SHARELATEX_LDAP_FIELD_NAME"] or 'LDAP User'
|
||||
# placeholder: process.env["SHARELATEX_LDAP_PLACEHOLDER"] or 'LDAP User ID'
|
||||
# emailAtt: process.env["SHARELATEX_LDAP_EMAIL_ATT"] or 'mail'
|
||||
# anonymous: parse(process.env["SHARELATEX_LDAP_ANONYMOUS"])
|
||||
# adminDN: process.env["SHARELATEX_LDAP_ADMIN_DN"]
|
||||
# adminPW: process.env["SHARELATEX_LDAP_ADMIN_PW"]
|
||||
# starttls: parse(process.env["SHARELATEX_LDAP_TLS"])
|
||||
# nameAtt: process.env["SHARELATEX_LDAP_NAME_ATT"]
|
||||
# lastNameAtt: process.env["SHARELATEX_LDAP_LAST_NAME_ATT"]
|
||||
# updateUserDetailsOnLogin: process.env["SHARELATEX_LDAP_UPDATE_USER_DETAILS_ON_LOGIN"] == 'true'
|
||||
|
||||
# if process.env["SHARELATEX_LDAP_TLS_OPTS_CA_PATH"]
|
||||
# try
|
||||
# ca = JSON.parse(process.env["SHARELATEX_LDAP_TLS_OPTS_CA_PATH"])
|
||||
# catch e
|
||||
# console.error "could not parse SHARELATEX_LDAP_TLS_OPTS_CA_PATH, invalid JSON"
|
||||
|
||||
# if typeof(ca) == 'string'
|
||||
# ca_paths = [ca]
|
||||
# else if typeof(ca) == 'object' && ca?.length?
|
||||
# ca_paths = ca
|
||||
# else
|
||||
# console.error "problem parsing SHARELATEX_LDAP_TLS_OPTS_CA_PATH"
|
||||
|
||||
# settings.ldap.tlsOptions =
|
||||
# rejectUnauthorized: process.env["SHARELATEX_LDAP_TLS_OPTS_REJECT_UNAUTH"] == "true"
|
||||
# ca:ca_paths # e.g.'/etc/ldap/ca_certs.pem'
|
||||
|
||||
|
||||
|
||||
|
||||
# LDAP - SERVER PRO ONLY
|
||||
# ----------
|
||||
|
||||
if process.env["SHARELATEX_LDAP_HOST"]
|
||||
console.error """
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
#
|
||||
# WARNING: The LDAP configuration format has changed in version 0.5.1
|
||||
# See https://github.com/sharelatex/sharelatex/wiki/Server-Pro:-LDAP-Config
|
||||
#
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
"""
|
||||
|
||||
if process.env["SHARELATEX_LDAP_URL"]
|
||||
settings.externalAuth = true
|
||||
settings.ldap =
|
||||
host: process.env["SHARELATEX_LDAP_HOST"]
|
||||
dn: process.env["SHARELATEX_LDAP_DN"]
|
||||
baseSearch: process.env["SHARELATEX_LDAP_BASE_SEARCH"]
|
||||
filter: process.env["SHARELATEX_LDAP_FILTER"]
|
||||
failMessage: process.env["SHARELATEX_LDAP_FAIL_MESSAGE"] or 'LDAP User Fail'
|
||||
fieldName: process.env["SHARELATEX_LDAP_FIELD_NAME"] or 'LDAP User'
|
||||
placeholder: process.env["SHARELATEX_LDAP_PLACEHOLDER"] or 'LDAP User ID'
|
||||
emailAtt: process.env["SHARELATEX_LDAP_EMAIL_ATT"] or 'mail'
|
||||
anonymous: parse(process.env["SHARELATEX_LDAP_ANONYMOUS"])
|
||||
adminDN: process.env["SHARELATEX_LDAP_ADMIN_DN"]
|
||||
adminPW: process.env["SHARELATEX_LDAP_ADMIN_PW"]
|
||||
starttls: parse(process.env["SHARELATEX_LDAP_TLS"])
|
||||
nameAtt: process.env["SHARELATEX_LDAP_NAME_ATT"]
|
||||
lastNameAtt: process.env["SHARELATEX_LDAP_LAST_NAME_ATT"]
|
||||
server:
|
||||
url: process.env["SHARELATEX_LDAP_URL"]
|
||||
bindDn: process.env["SHARELATEX_LDAP_BIND_DN"]
|
||||
bindCredentials: process.env["SHARELATEX_LDAP_BIND_CREDENTIALS"]
|
||||
bindProperty: process.env["SHARELATEX_LDAP_BIND_PROPERTY"]
|
||||
searchBase: process.env["SHARELATEX_LDAP_SEARCHBASE"]
|
||||
searchScope: process.env["SHARELATEX_LDAP_SEARCH_SCOPE"]
|
||||
searchFilter: process.env["SHARELATEX_LDAP_SEARCH_FILTER"]
|
||||
searchAttributes: (
|
||||
if _ldap_search_attribs = process.env["SHARELATEX_LDAP_SEARCH_ATTRIBUTES"]
|
||||
try
|
||||
JSON.parse(_ldap_search_attribs)
|
||||
catch
|
||||
console.error "could not parse SHARELATEX_LDAP_SEARCH_ATTRIBUTES"
|
||||
else
|
||||
undefined
|
||||
)
|
||||
groupDnProperty: process.env["SHARELATEX_LDAP_GROUP_DN_PROPERTY"]
|
||||
groupSearchBase: process.env["SHARELATEX_LDAP_GROUP_SEARCH_BASE"]
|
||||
groupSearchScope: process.env["SHARELATEX_LDAP_GROUP_SEARCH_SCOPE"]
|
||||
groupSearchFilter: process.env["SHARELATEX_LDAP_GROUP_SEARCH_FILTER"] #
|
||||
groupSearchAttributes: (
|
||||
if _ldap_group_search_attribs = process.env["SHARELATEX_LDAP_GROUP_SEARCH_ATTRIBUTES"]
|
||||
try
|
||||
JSON.parse(_ldap_group_search_attribs)
|
||||
catch
|
||||
console.error "could not parse SHARELATEX_LDAP_GROUP_SEARCH_ATTRIBUTES"
|
||||
else
|
||||
undefined
|
||||
)
|
||||
cache: process.env["SHARELATEX_LDAP_CACHE"] == 'true'
|
||||
timeout: (
|
||||
if _ldap_timeout = process.env["SHARELATEX_LDAP_TIMEOUT"]
|
||||
try
|
||||
parseInt(_ldap_timeout)
|
||||
catch e
|
||||
console.error "Cannot parse SHARELATEX_LDAP_TIMEOUT"
|
||||
else
|
||||
undefined
|
||||
)
|
||||
connectTimeout: (
|
||||
if _ldap_connect_timeout = process.env["SHARELATEX_LDAP_CONNECT_TIMEOUT"]
|
||||
try
|
||||
parseInt(_ldap_connect_timeout)
|
||||
catch e
|
||||
console.error "Cannot parse SHARELATEX_CONNECTLDAP_TIMEOUT"
|
||||
else
|
||||
undefined
|
||||
)
|
||||
emailAtt: process.env["SHARELATEX_LDAP_"]
|
||||
nameAtt: process.env["SHARELATEX_LDAP_"]
|
||||
lastNameAtt: process.env["SHARELATEX_LDAP_"]
|
||||
updateUserDetailsOnLogin: process.env["SHARELATEX_LDAP_UPDATE_USER_DETAILS_ON_LOGIN"] == 'true'
|
||||
placeholder: process.env["SHARELATEX_LDAP_"]
|
||||
starttls: process.env["SHARELATEX_LDAP_TLS"] == 'true'
|
||||
|
||||
if process.env["SHARELATEX_LDAP_TLS_OPTS_CA_PATH"]
|
||||
try
|
||||
|
@ -429,10 +521,14 @@ if process.env["SHARELATEX_LDAP_HOST"]
|
|||
else
|
||||
console.error "problem parsing SHARELATEX_LDAP_TLS_OPTS_CA_PATH"
|
||||
|
||||
settings.ldap.tlsOptions =
|
||||
settings.ldap.server.tlsOptions =
|
||||
rejectUnauthorized: process.env["SHARELATEX_LDAP_TLS_OPTS_REJECT_UNAUTH"] == "true"
|
||||
ca:ca_paths # e.g.'/etc/ldap/ca_certs.pem'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if process.env["SHARELATEX_SAML_ENTRYPOINT"]
|
||||
# NOTE: see https://github.com/bergie/passport-saml/blob/master/README.md for docs of `server` options
|
||||
settings.externalAuth = true
|
||||
|
|
Loading…
Reference in a new issue