Log an error when JWT authentication is configured without jwt_key

This commit is contained in:
Evgeny Khramtsov 2019-07-19 12:01:57 +03:00
parent 55d42b9000
commit 4be98b5aef
3 changed files with 12 additions and 5 deletions

View File

@ -39,7 +39,14 @@
%%%---------------------------------------------------------------------- %%%----------------------------------------------------------------------
%%% API %%% API
%%%---------------------------------------------------------------------- %%%----------------------------------------------------------------------
start(_Host) -> ok. start(Host) ->
case ejabberd_option:jwt_key(Host) of
undefined ->
?ERROR_MSG("Option jwt_key is not configured for ~s: "
"JWT authentication won't work", [Host]);
_ ->
ok
end.
stop(_Host) -> ok. stop(_Host) -> ok.

View File

@ -424,10 +424,10 @@ include_config_file() ->
include_config_file(Host) -> include_config_file(Host) ->
ejabberd_config:get_option({include_config_file, Host}). ejabberd_config:get_option({include_config_file, Host}).
-spec jwt_key() -> jose_jwk:key(). -spec jwt_key() -> jose_jwk:key() | 'undefined'.
jwt_key() -> jwt_key() ->
jwt_key(global). jwt_key(global).
-spec jwt_key(global | binary()) -> jose_jwk:key(). -spec jwt_key(global | binary()) -> jose_jwk:key() | 'undefined'.
jwt_key(Host) -> jwt_key(Host) ->
ejabberd_config:get_option({jwt_key, Host}). ejabberd_config:get_option({jwt_key, Host}).

View File

@ -428,7 +428,7 @@ opt_type(jwt_key) ->
{shaper, #{atom() => ejabberd_shaper:shaper_rate()}} | {shaper, #{atom() => ejabberd_shaper:shaper_rate()}} |
{shaper_rules, [{atom(), [ejabberd_shaper:shaper_rule()]}]} | {shaper_rules, [{atom(), [ejabberd_shaper:shaper_rule()]}]} |
{api_permissions, [ejabberd_access_permissions:permission()]} | {api_permissions, [ejabberd_access_permissions:permission()]} |
{jwt_key, jose_jwk:key()} | {jwt_key, jose_jwk:key() | undefined} |
{append_host_config, [{binary(), any()}]} | {append_host_config, [{binary(), any()}]} |
{host_config, [{binary(), any()}]} | {host_config, [{binary(), any()}]} |
{define_macro, any()} | {define_macro, any()} |
@ -635,7 +635,7 @@ options() ->
{websocket_origin, []}, {websocket_origin, []},
{websocket_ping_interval, timer:seconds(60)}, {websocket_ping_interval, timer:seconds(60)},
{websocket_timeout, timer:minutes(5)}, {websocket_timeout, timer:minutes(5)},
{jwt_key, <<"">>}]. {jwt_key, undefined}].
-spec globals() -> [atom()]. -spec globals() -> [atom()].
globals() -> globals() ->