Merge pull request #5766 from tigercl/chore/authn
chore(authn): add supervisor for authn and fix checking errors
This commit is contained in:
commit
7fd7a31300
|
@ -281,8 +281,7 @@ do_post_config_update({move_authenticator, ChainName, AuthenticatorID, Position}
|
|||
|
||||
check_config(Config) ->
|
||||
#{authentication := CheckedConfig} =
|
||||
hocon_schema:check_plain(?MODULE, #{<<"authentication">> => Config},
|
||||
#{nullable => true, atom_key => true}),
|
||||
hocon_schema:check_plain(?MODULE, #{<<"authentication">> => Config}, #{atom_key => true}),
|
||||
CheckedConfig.
|
||||
|
||||
%%------------------------------------------------------------------------------
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
%%--------------------------------------------------------------------
|
||||
%% Copyright (c) 2017-2021 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||
%%
|
||||
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||
%% you may not use this file except in compliance with the License.
|
||||
%% You may obtain a copy of the License at
|
||||
%%
|
||||
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||
%%
|
||||
%% Unless required by applicable law or agreed to in writing, software
|
||||
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
%% See the License for the specific language governing permissions and
|
||||
%% limitations under the License.
|
||||
%%--------------------------------------------------------------------
|
||||
|
||||
-module(emqx_authentication_sup).
|
||||
|
||||
-behaviour(supervisor).
|
||||
|
||||
-export([start_link/0]).
|
||||
|
||||
-export([init/1]).
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
%% API
|
||||
%%--------------------------------------------------------------------
|
||||
|
||||
start_link() ->
|
||||
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
%% Supervisor callbacks
|
||||
%%--------------------------------------------------------------------
|
||||
|
||||
init([]) ->
|
||||
SupFlags = #{strategy => one_for_one,
|
||||
intensity => 100,
|
||||
period => 10},
|
||||
|
||||
AuthN = #{id => emqx_authentication,
|
||||
start => {emqx_authentication, start_link, []},
|
||||
restart => permanent,
|
||||
shutdown => 1000,
|
||||
type => worker,
|
||||
modules => [emqx_authentication]},
|
||||
|
||||
{ok, {SupFlags, [AuthN]}}.
|
|
@ -44,12 +44,12 @@ init([]) ->
|
|||
modules => [emqx_shared_sub]},
|
||||
|
||||
%% Authentication
|
||||
AuthN = #{id => authn,
|
||||
start => {emqx_authentication, start_link, []},
|
||||
AuthNSup = #{id => emqx_authentication_sup,
|
||||
start => {emqx_authentication_sup, start_link, []},
|
||||
restart => permanent,
|
||||
shutdown => 2000,
|
||||
type => worker,
|
||||
modules => [emqx_authentication]},
|
||||
shutdown => infinity,
|
||||
type => supervisor,
|
||||
modules => [emqx_authentication_sup]},
|
||||
|
||||
%% Broker helper
|
||||
Helper = #{id => helper,
|
||||
|
@ -59,5 +59,5 @@ init([]) ->
|
|||
type => worker,
|
||||
modules => [emqx_broker_helper]},
|
||||
|
||||
{ok, {{one_for_all, 0, 1}, [BrokerPool, SharedSub, AuthN, Helper]}}.
|
||||
{ok, {{one_for_all, 0, 1}, [BrokerPool, SharedSub, AuthNSup, Helper]}}.
|
||||
|
||||
|
|
|
@ -1971,7 +1971,7 @@ find_config(AuthenticatorID, AuthenticatorsConfig) ->
|
|||
|
||||
fill_defaults(Config) ->
|
||||
#{<<"authentication">> := CheckedConfig} = hocon_schema:check_plain(
|
||||
?AUTHN, #{<<"authentication">> => Config}, #{nullable => true, no_conversion => true}),
|
||||
?AUTHN, #{<<"authentication">> => Config}, #{no_conversion => true}),
|
||||
CheckedConfig.
|
||||
|
||||
convert_certs(#{<<"ssl">> := SSLOpts} = Config) ->
|
||||
|
|
|
@ -77,7 +77,6 @@ validations() ->
|
|||
].
|
||||
|
||||
url(type) -> binary();
|
||||
url(nullable) -> false;
|
||||
url(validator) -> [fun check_url/1];
|
||||
url(_) -> undefined.
|
||||
|
||||
|
@ -98,7 +97,6 @@ headers_no_content_type(default) -> default_headers_no_content_type();
|
|||
headers_no_content_type(_) -> undefined.
|
||||
|
||||
body(type) -> map();
|
||||
body(nullable) -> false;
|
||||
body(validator) -> [fun check_body/1];
|
||||
body(_) -> undefined.
|
||||
|
||||
|
|
|
@ -70,15 +70,12 @@ common_fields() ->
|
|||
] ++ emqx_authn_schema:common_fields().
|
||||
|
||||
collection(type) -> binary();
|
||||
collection(nullable) -> false;
|
||||
collection(_) -> undefined.
|
||||
|
||||
selector(type) -> map();
|
||||
selector(nullable) -> false;
|
||||
selector(_) -> undefined.
|
||||
|
||||
password_hash_field(type) -> binary();
|
||||
password_hash_field(nullable) -> false;
|
||||
password_hash_field(_) -> undefined.
|
||||
|
||||
salt_field(type) -> binary();
|
||||
|
|
|
@ -63,7 +63,6 @@ salt_position(default) -> prefix;
|
|||
salt_position(_) -> undefined.
|
||||
|
||||
query(type) -> string();
|
||||
query(nullable) -> false;
|
||||
query(_) -> undefined.
|
||||
|
||||
query_timeout(type) -> integer();
|
||||
|
|
|
@ -59,7 +59,6 @@ password_hash_algorithm(default) -> sha256;
|
|||
password_hash_algorithm(_) -> undefined.
|
||||
|
||||
query(type) -> string();
|
||||
query(nullable) -> false;
|
||||
query(_) -> undefined.
|
||||
|
||||
%%------------------------------------------------------------------------------
|
||||
|
|
|
@ -66,7 +66,6 @@ common_fields() ->
|
|||
] ++ emqx_authn_schema:common_fields().
|
||||
|
||||
query(type) -> string();
|
||||
query(nullable) -> false;
|
||||
query(_) -> undefined.
|
||||
|
||||
password_hash_algorithm(type) -> {enum, [plain, md5, sha, sha256, sha512, bcrypt]};
|
||||
|
|
Loading…
Reference in New Issue