Просмотр исходного кода

fix(ldap): handle invalidCredentials in ldap authn

Zaiming (Stone) Shi 2 лет назад
Родитель
Сommit
4a4730ad46
1 измененных файлов с 7 добавлено и 1 удалено
  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,