emqx_auth_jwt.schema 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. %%-*- mode: erlang -*-
  2. {mapping, "auth.jwt.secret", "emqx_auth_jwt.secret", [
  3. {datatype, string}
  4. ]}.
  5. {mapping, "auth.jwt.jwks.endpoint", "emqx_auth_jwt.jwks", [
  6. {datatype, string}
  7. ]}.
  8. {mapping, "auth.jwt.jwks.refresh_interval", "emqx_auth_jwt.refresh_interval", [
  9. {datatype, {duration, ms}}
  10. ]}.
  11. {mapping, "auth.jwt.from", "emqx_auth_jwt.from", [
  12. {default, password},
  13. {datatype, atom}
  14. ]}.
  15. {mapping, "auth.jwt.pubkey", "emqx_auth_jwt.pubkey", [
  16. {datatype, string}
  17. ]}.
  18. {mapping, "auth.jwt.signature_format", "emqx_auth_jwt.jwerl_opts", [
  19. {default, "der"},
  20. {datatype, {enum, [raw, der]}}
  21. ]}.
  22. {mapping, "auth.jwt.verify_claims.enable", "emqx_auth_jwt.verify_claims", [
  23. {default, off},
  24. {datatype, flag}
  25. ]}.
  26. {mapping, "auth.jwt.verify_claims.$name", "emqx_auth_jwt.verify_claims", [
  27. {datatype, string}
  28. ]}.
  29. {translation, "emqx_auth_jwt.verify_claims", fun(Conf) ->
  30. case cuttlefish:conf_get("auth.jwt.verify_claims.enable", Conf) of
  31. false -> cuttlefish:unset();
  32. true ->
  33. lists:foldr(
  34. fun({["auth","jwt","verify_claims", Name], Value}, Acc) ->
  35. [{list_to_atom(Name), list_to_binary(Value)} | Acc];
  36. ({["auth","jwt","verify_claims"], _Value}, Acc) ->
  37. Acc
  38. end, [], cuttlefish_variable:filter_by_prefix("auth.jwt.verify_claims", Conf))
  39. end
  40. end}.