%%-*- mode: erlang -*- %% emqx_auth_mnesia config mapping {mapping, "auth.mnesia.password_hash", "emqx_auth_mnesia.password_hash", [ {default, sha256}, {datatype, {enum, [plain, md5, sha, sha256, sha512]}} ]}. {mapping, "auth.client.$id.clientid", "emqx_auth_mnesia.clientid_list", [ {datatype, string} ]}. {mapping, "auth.client.$id.password", "emqx_auth_mnesia.clientid_list", [ {datatype, string} ]}. {translation, "emqx_auth_mnesia.clientid_list", fun(Conf) -> ClientList = cuttlefish_variable:filter_by_prefix("auth.client", Conf), lists:foldl( fun({["auth", "client", Id, "clientid"], ClientId}, AccIn) -> [{ClientId, cuttlefish:conf_get("auth.client." ++ Id ++ ".password", Conf)} | AccIn]; (_, AccIn) -> AccIn end, [], ClientList) end}. {mapping, "auth.user.$id.username", "emqx_auth_mnesia.username_list", [ {datatype, string} ]}. {mapping, "auth.user.$id.password", "emqx_auth_mnesia.username_list", [ {datatype, string} ]}. {translation, "emqx_auth_mnesia.username_list", fun(Conf) -> Userlist = cuttlefish_variable:filter_by_prefix("auth.user", Conf), lists:foldl( fun({["auth", "user", Id, "username"], Username}, AccIn) -> [{Username, cuttlefish:conf_get("auth.user." ++ Id ++ ".password", Conf)} | AccIn]; (_, AccIn) -> AccIn end, [], Userlist) end}.