Parcourir la source

fix(ldap): handle invalidCredentials in ldap authn

Zaiming (Stone) Shi il y a 2 ans
Parent
commit
4a4730ad46
1 fichiers modifiés avec 7 ajouts et 1 suppressions
  1. 7 1
      apps/emqx_ldap/src/emqx_ldap_authn_bind.erl

+ 7 - 1
apps/emqx_ldap/src/emqx_ldap_authn_bind.erl

@@ -102,8 +102,14 @@ authenticate(
                     {bind, Entry#eldap_entry.object_name, Credential}
                     {bind, Entry#eldap_entry.object_name, Credential}
                 )
                 )
             of
             of
-                ok ->
+                {ok, #{result := ok}} ->
                     {ok, #{is_superuser => false}};
                     {ok, #{is_superuser => false}};
+                {ok, #{result := 'invalidCredentials'}} ->
+                    ?TRACE_AUTHN_PROVIDER(error, "ldap_bind_failed", #{
+                        resource => ResourceId,
+                        reason => 'invalidCredentials'
+                    }),
+                    {error, bad_username_or_password};
                 {error, Reason} ->
                 {error, Reason} ->
                     ?TRACE_AUTHN_PROVIDER(error, "ldap_bind_failed", #{
                     ?TRACE_AUTHN_PROVIDER(error, "ldap_bind_failed", #{
                         resource => ResourceId,
                         resource => ResourceId,