emqx_authentication.hrl 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. %%--------------------------------------------------------------------
  2. %% Copyright (c) 2021-2022 EMQ Technologies Co., Ltd. All Rights Reserved.
  3. %%
  4. %% Licensed under the Apache License, Version 2.0 (the "License");
  5. %% you may not use this file except in compliance with the License.
  6. %% You may obtain a copy of the License at
  7. %%
  8. %% http://www.apache.org/licenses/LICENSE-2.0
  9. %%
  10. %% Unless required by applicable law or agreed to in writing, software
  11. %% distributed under the License is distributed on an "AS IS" BASIS,
  12. %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. %% See the License for the specific language governing permissions and
  14. %% limitations under the License.
  15. %%--------------------------------------------------------------------
  16. -ifndef(EMQX_AUTHENTICATION_HRL).
  17. -define(EMQX_AUTHENTICATION_HRL, true).
  18. -include_lib("emqx/include/logger.hrl").
  19. -define(AUTHN_TRACE_TAG, "AUTHN").
  20. -define(TRACE_AUTHN_PROVIDER(Msg), ?TRACE_AUTHN_PROVIDER(Msg, #{})).
  21. -define(TRACE_AUTHN_PROVIDER(Msg, Meta), ?TRACE_AUTHN_PROVIDER(debug, Msg, Meta)).
  22. -define(TRACE_AUTHN_PROVIDER(Level, Msg, Meta),
  23. ?TRACE_AUTHN(Level, Msg, (Meta)#{provider => ?MODULE})
  24. ).
  25. -define(TRACE_AUTHN(Msg, Meta), ?TRACE_AUTHN(debug, Msg, Meta)).
  26. -define(TRACE_AUTHN(Level, Msg, Meta), ?TRACE(Level, ?AUTHN_TRACE_TAG, Msg, Meta)).
  27. %% config root name all auth providers have to agree on.
  28. -define(EMQX_AUTHENTICATION_CONFIG_ROOT_NAME, "authentication").
  29. -define(EMQX_AUTHENTICATION_CONFIG_ROOT_NAME_ATOM, authentication).
  30. -define(EMQX_AUTHENTICATION_CONFIG_ROOT_NAME_BINARY, <<"authentication">>).
  31. %% key to a persistent term which stores a module name in order to inject
  32. %% schema module at run-time to keep emqx app's compile time purity.
  33. %% see emqx_schema.erl for more details
  34. %% and emqx_conf_schema for an examples
  35. -define(EMQX_AUTHENTICATION_SCHEMA_MODULE_PT_KEY, emqx_authentication_schema_module).
  36. %% authentication move cmd
  37. -define(CMD_MOVE_FRONT, front).
  38. -define(CMD_MOVE_REAR, rear).
  39. -define(CMD_MOVE_BEFORE(Before), {before, Before}).
  40. -define(CMD_MOVE_AFTER(After), {'after', After}).
  41. -endif.