diff --git a/apps/emqx_authn/src/emqx_authn.appup.src b/apps/emqx_authn/src/emqx_authn.appup.src index eccbcd60b..f165b2f77 100644 --- a/apps/emqx_authn/src/emqx_authn.appup.src +++ b/apps/emqx_authn/src/emqx_authn.appup.src @@ -1,5 +1,11 @@ %% -*- mode: erlang -*- %% Unless you know what you are doing, DO NOT edit manually!! {VSN, - [{"0.1.0",[{load_module,emqx_authn_utils,brutal_purge,soft_purge,[]}]}], - [{"0.1.0",[{load_module,emqx_authn_utils,brutal_purge,soft_purge,[]}]}]}. + [{"0.1.0",[ + {load_module,emqx_authn_utils,brutal_purge,soft_purge,[]}, + {load_module,emqx_authn_redis,brutal_purge,soft_purge,[]}] + }], + [{"0.1.0",[ + {load_module,emqx_authn_utils,brutal_purge,soft_purge,[]}, + {load_module,emqx_authn_redis,brutal_purge,soft_purge,[]}] + }]}. diff --git a/apps/emqx_authn/src/emqx_authn_utils.erl b/apps/emqx_authn/src/emqx_authn_utils.erl index a41a27d2a..6e8976cee 100644 --- a/apps/emqx_authn/src/emqx_authn_utils.erl +++ b/apps/emqx_authn/src/emqx_authn_utils.erl @@ -80,7 +80,7 @@ check_password_from_selected_map(Algorithm, Selected, Password) -> ), case Hash of undefined -> - {error, bad_username_or_password}; + {error, not_authorized}; _ -> Salt = maps:get(<<"salt">>, Selected, <<>>), case diff --git a/apps/emqx_authn/src/simple_authn/emqx_authn_redis.erl b/apps/emqx_authn/src/simple_authn/emqx_authn_redis.erl index d0958546d..d2003f26a 100644 --- a/apps/emqx_authn/src/simple_authn/emqx_authn_redis.erl +++ b/apps/emqx_authn/src/simple_authn/emqx_authn_redis.erl @@ -138,27 +138,16 @@ authenticate( {ok, []} -> ignore; {ok, Values} -> - case merge(Fields, Values) of - #{<<"password_hash">> := _} = Selected -> - case - emqx_authn_utils:check_password_from_selected_map( - Algorithm, Selected, Password - ) - of - ok -> - {ok, emqx_authn_utils:is_superuser(Selected)}; - {error, Reason} -> - {error, Reason} - end; - _ -> - ?SLOG(error, #{ - msg => "cannot_find_password_hash_field", - cmd => Command, - keys => NKey, - fields => Fields, - resource => ResourceId - }), - ignore + Selected = merge(Fields, Values), + case + emqx_authn_utils:check_password_from_selected_map( + Algorithm, Selected, Password + ) + of + ok -> + {ok, emqx_authn_utils:is_superuser(Selected)}; + {error, Reason} -> + {error, Reason} end; {error, Reason} -> ?SLOG(error, #{