I think the newer version of crypto.hmac has 4 arguments instead of 3 (OTP 20 and above?).
** (UndefinedFunctionError) function :crypto.hmac/3 is undefined or private
(crypto 5.0) :crypto.hmac(:sha256, "xxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxx")
lib/json_web_token/algorithm/hmac.ex:35: JsonWebToken.Algorithm.Hmac.verify?/4
lib/json_web_token/jws.ex:103: JsonWebToken.Jws.verified/3
lib/json_web_token/jwt.ex:89: JsonWebToken.Jwt.verify/2