From 7817502b8b68a3d4cefede41db79c224ee961ef5 Mon Sep 17 00:00:00 2001 From: Andrew Mayorov Date: Mon, 13 Nov 2023 13:05:31 +0700 Subject: [PATCH] feat(rocketmq): accept wrapped secrets as passwords --- .../src/emqx_bridge_rocketmq.app.src | 2 +- .../src/emqx_bridge_rocketmq_connector.erl | 33 ++++++++----------- 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq.app.src b/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq.app.src index e158a2e46..38c00e7ee 100644 --- a/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq.app.src +++ b/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, []}, diff --git a/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl b/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl index dbac88249..81045ade4 100644 --- a/apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl +++ b/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(_, _, _) -> #{}.