EMQX 5.x要如何区分用户名密码错误还是服务器异常(4xx和5xx)

EMQ4.x支持通过http状态码 4xx 和 5xx 返回 bad username or password 和 server unavailable
EMQ5.x是否支持?

5的实现是只要回的不是204和200,都是 ignore ,换句话说就是忽略这个认证器的结果,进入下一个认证器,如果没有下一个,就是 deny

您说的:4.3.19 的实现是:
https://github.com/emqx/emqx/blob/v4.3.19/apps/emqx_auth_http/src/emqx_auth_http.erl#L39-L53

https://github.com/emqx/emqx/blob/v4.3.19/apps/emqx_auth_http/src/emqx_auth_http.erl#L98C1-L104


这个关于 40x 和 50x 的处理在 5 里面是没有的。

总结就是:
5 里面只通过 204 或 200 里面的 body 来判断 action。如果是其它 code,action 一律是 ignore。所以就是不支持 4.x 的 http 状态码判断。