فهرست منبع

fix: hidden password in dashboard https's shema

Zhongwen Deng 2 سال پیش
والد
کامیت
98e8287260
1فایلهای تغییر یافته به همراه7 افزوده شده و 5 حذف شده
  1. 7 5
      apps/emqx_dashboard/src/emqx_dashboard_schema.erl

+ 7 - 5
apps/emqx_dashboard/src/emqx_dashboard_schema.erl

@@ -97,13 +97,15 @@ fields("https") ->
     [
         enable(false),
         bind(18084)
-        | common_listener_fields() ++
-            exclude_fields(
-                ["fail_if_no_peer_cert", "password"],
-                emqx_schema:server_ssl_opts_schema(#{}, true)
-            )
+        | common_listener_fields() ++ server_ssl_opts()
     ].
 
+server_ssl_opts() ->
+    Opts0 = emqx_schema:server_ssl_opts_schema(#{}, true),
+    Opts1 = exclude_fields(["fail_if_no_peer_cert"], Opts0),
+    {value, {_, Meta}, Opts2} = lists:keytake("password", 1, Opts1),
+    [{"password", Meta#{importance => ?IMPORTANCE_HIDDEN}} | Opts2].
+
 exclude_fields([], Fields) ->
     Fields;
 exclude_fields([FieldName | Rest], Fields) ->