Преглед на файлове

feat(rocketmq): accept wrapped secrets as passwords

Andrew Mayorov преди 2 години
родител
ревизия
7817502b8b
променени са 2 файла, в които са добавени 14 реда и са изтрити 21 реда
  1. 1 1
      apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq.app.src
  2. 13 20
      apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl

+ 1 - 1
apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq.app.src

@@ -1,6 +1,6 @@
 {application, emqx_bridge_rocketmq, [
     {description, "EMQX Enterprise RocketMQ Bridge"},
-    {vsn, "0.1.3"},
+    {vsn, "0.1.4"},
     {registered, []},
     {applications, [kernel, stdlib, emqx_resource, rocketmq]},
     {env, []},

+ 13 - 20
apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl

@@ -48,13 +48,8 @@ fields(config) ->
                 binary(),
                 #{default => <<>>, desc => ?DESC("access_key")}
             )},
-        {secret_key,
-            mk(
-                binary(),
-                #{default => <<>>, desc => ?DESC("secret_key"), sensitive => true}
-            )},
-        {security_token,
-            mk(binary(), #{default => <<>>, desc => ?DESC(security_token), sensitive => true})},
+        {secret_key, emqx_schema_secret:mk(#{default => <<>>, desc => ?DESC("secret_key")})},
+        {security_token, emqx_schema_secret:mk(#{default => <<>>, desc => ?DESC(security_token)})},
         {sync_timeout,
             mk(
                 emqx_schema:timeout_duration(),
@@ -294,21 +289,19 @@ make_producer_opts(
         acl_info => emqx_secret:wrap(ACLInfo)
     }.
 
-acl_info(<<>>, <<>>, <<>>) ->
+acl_info(<<>>, _, _) ->
     #{};
-acl_info(AccessKey, SecretKey, <<>>) when is_binary(AccessKey), is_binary(SecretKey) ->
-    #{
+acl_info(AccessKey, SecretKey, SecurityToken) when is_binary(AccessKey) ->
+    Info = #{
         access_key => AccessKey,
-        secret_key => SecretKey
-    };
-acl_info(AccessKey, SecretKey, SecurityToken) when
-    is_binary(AccessKey), is_binary(SecretKey), is_binary(SecurityToken)
-->
-    #{
-        access_key => AccessKey,
-        secret_key => SecretKey,
-        security_token => SecurityToken
-    };
+        secret_key => emqx_maybe:define(emqx_secret:unwrap(SecretKey), <<>>)
+    },
+    case emqx_maybe:define(emqx_secret:unwrap(SecurityToken), <<>>) of
+        <<>> ->
+            Info;
+        Token ->
+            Info#{security_token => Token}
+    end;
 acl_info(_, _, _) ->
     #{}.