0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-03-11 07:11:32 -05:00

⬆️ Replace outdated org.clojars.pntblnk/clj-ldap with puppetlabs/clj-ldap

This commit is contained in:
Vitaly Kornilov 2020-07-28 13:56:50 +03:00 committed by Andrey Antukh
parent b475853922
commit 712563a984
2 changed files with 15 additions and 18 deletions

View file

@ -53,7 +53,7 @@
com.draines/postal {:mvn/version "2.0.3"
:exclusions [commons-codec/commons-codec]}
org.clojars.pntblnk/clj-ldap {:mvn/version"0.0.16"}
puppetlabs/clj-ldap {:mvn/version"0.3.0"}
;; exception printing
io.aviso/pretty {:mvn/version "0.1.37"}

View file

@ -31,10 +31,10 @@
(log/errorf e "Cannot connect to LDAP %s:%s"
(:ldap-auth-host cfg/config) (:ldap-auth-port cfg/config)))))
:stop (when (realized? *ldap-pool)
(some-> *ldap-pool deref (client/close))))
(some-> *ldap-pool deref (.close))))
(defn- auth-with-ldap [username password]
(when-let [conn (some-> *ldap-pool deref (client/get-connection))]
(when-some [conn (some-> *ldap-pool deref)]
(let [user-search-query (replace-several (:ldap-auth-user-query cfg/config)
"$username" username)
user-attributes (-> cfg/config
@ -43,21 +43,18 @@
:ldap-auth-fullname-attribute
:ldap-auth-avatar-attribute])
vals)]
(try
(when-some [user-entry (-> conn
(client/search
(:ldap-auth-base-dn cfg/config)
{:filter user-search-query
:sizelimit 1
:attributes user-attributes})
first)]
(when-not (client/bind? conn (:dn user-entry) password)
(ex/raise :type :authentication
:code ::wrong-credentials))
(set/rename-keys user-entry {(keyword (:ldap-auth-avatar-attribute cfg/config)) :photo
(keyword (:ldap-auth-fullname-attribute cfg/config)) :fullname
(keyword (:ldap-auth-email-attribute cfg/config)) :email}))
(finally (client/release-connection @*ldap-pool conn))))))
(when-some [user-entry (-> conn
(client/search (:ldap-auth-base-dn cfg/config)
{:filter user-search-query
:sizelimit 1
:attributes user-attributes})
(first))]
(when-not (client/bind? conn (:dn user-entry) password)
(ex/raise :type :authentication
:code ::wrong-credentials))
(set/rename-keys user-entry {(keyword (:ldap-auth-avatar-attribute cfg/config)) :photo
(keyword (:ldap-auth-fullname-attribute cfg/config)) :fullname
(keyword (:ldap-auth-email-attribute cfg/config)) :email})))))
(defn auth [req]
(let [data (:body-params req)