diff --git a/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl b/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl index 1f304a65e..1dee41677 100644 --- a/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl +++ b/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl @@ -90,22 +90,16 @@ is_expired(Exp) -> description() -> "Authentication with JWT". binary_to_number(Bin) -> - Checker = fun([], _) -> - false; - ([H | T], Self) -> - try - {ok, H(Bin)} - catch _:_ -> - Self(T, Self) - end - end, - - Checker([fun erlang:binary_to_integer/1, - fun(In) -> - Val = erlang:binary_to_float(In), - erlang:round(Val) - end], - Checker). + try + {ok, erlang:binary_to_integer(Bin)} + catch _:_ -> + try + Val = erlang:binary_to_float(Bin), + {ok, erlang:round(Val)} + catch _:_ -> + false + end + end. %%------------------------------------------------------------------------------ %% Verify Claims