From 7a471faf672d5fb9aad6d78f55c8e9d62362e39a Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Tue, 17 Jan 2023 19:57:14 +0100 Subject: [PATCH] refactor(authn): use simple sync query for authn there is no need to route the authn queries through the buffer worker --- apps/emqx_authn/src/simple_authn/emqx_authn_http.erl | 2 +- apps/emqx_authn/src/simple_authn/emqx_authn_jwt.erl | 4 ++-- apps/emqx_authn/src/simple_authn/emqx_authn_mongodb.erl | 2 +- apps/emqx_authn/src/simple_authn/emqx_authn_mysql.erl | 4 +++- apps/emqx_authn/src/simple_authn/emqx_authn_pgsql.erl | 2 +- apps/emqx_authn/src/simple_authn/emqx_authn_redis.erl | 2 +- apps/emqx_authn/test/emqx_authn_mysql_SUITE.erl | 4 ++-- apps/emqx_authn/test/emqx_authn_pgsql_SUITE.erl | 4 ++-- apps/emqx_authn/test/emqx_authn_redis_SUITE.erl | 2 +- 9 files changed, 14 insertions(+), 12 deletions(-) diff --git a/apps/emqx_authn/src/simple_authn/emqx_authn_http.erl b/apps/emqx_authn/src/simple_authn/emqx_authn_http.erl index faa06b71a..b6b68eab9 100644 --- a/apps/emqx_authn/src/simple_authn/emqx_authn_http.erl +++ b/apps/emqx_authn/src/simple_authn/emqx_authn_http.erl @@ -192,7 +192,7 @@ authenticate( } = State ) -> Request = generate_request(Credential, State), - Response = emqx_resource:query(ResourceId, {Method, Request, RequestTimeout}), + Response = emqx_resource:simple_sync_query(ResourceId, {Method, Request, RequestTimeout}), ?TRACE_AUTHN_PROVIDER("http_response", #{ request => request_for_log(Credential, State), response => response_for_log(Response), diff --git a/apps/emqx_authn/src/simple_authn/emqx_authn_jwt.erl b/apps/emqx_authn/src/simple_authn/emqx_authn_jwt.erl index 1c44b4d1f..852139875 100644 --- a/apps/emqx_authn/src/simple_authn/emqx_authn_jwt.erl +++ b/apps/emqx_authn/src/simple_authn/emqx_authn_jwt.erl @@ -187,7 +187,7 @@ update( #{use_jwks := true} = Config, #{jwk_resource := ResourceId} = State ) -> - case emqx_resource:query(ResourceId, {update, connector_opts(Config)}) of + case emqx_resource:simple_sync_query(ResourceId, {update, connector_opts(Config)}) of ok -> case maps:get(verify_claims, Config, undefined) of undefined -> @@ -229,7 +229,7 @@ authenticate( from := From } ) -> - case emqx_resource:query(ResourceId, get_jwks) of + case emqx_resource:simple_sync_query(ResourceId, get_jwks) of {error, Reason} -> ?TRACE_AUTHN_PROVIDER(error, "get_jwks_failed", #{ resource => ResourceId, diff --git a/apps/emqx_authn/src/simple_authn/emqx_authn_mongodb.erl b/apps/emqx_authn/src/simple_authn/emqx_authn_mongodb.erl index 3f140a8eb..bcdc7b0b1 100644 --- a/apps/emqx_authn/src/simple_authn/emqx_authn_mongodb.erl +++ b/apps/emqx_authn/src/simple_authn/emqx_authn_mongodb.erl @@ -167,7 +167,7 @@ authenticate( } = State ) -> Filter = emqx_authn_utils:render_deep(FilterTemplate, Credential), - case emqx_resource:query(ResourceId, {find_one, Collection, Filter, #{}}) of + case emqx_resource:simple_sync_query(ResourceId, {find_one, Collection, Filter, #{}}) of {ok, undefined} -> ignore; {error, Reason} -> diff --git a/apps/emqx_authn/src/simple_authn/emqx_authn_mysql.erl b/apps/emqx_authn/src/simple_authn/emqx_authn_mysql.erl index ffce42bb3..0e6eeb6af 100644 --- a/apps/emqx_authn/src/simple_authn/emqx_authn_mysql.erl +++ b/apps/emqx_authn/src/simple_authn/emqx_authn_mysql.erl @@ -118,7 +118,9 @@ authenticate( } ) -> Params = emqx_authn_utils:render_sql_params(TmplToken, Credential), - case emqx_resource:query(ResourceId, {prepared_query, ?PREPARE_KEY, Params, Timeout}) of + case + emqx_resource:simple_sync_query(ResourceId, {prepared_query, ?PREPARE_KEY, Params, Timeout}) + of {ok, _Columns, []} -> ignore; {ok, Columns, [Row | _]} -> diff --git a/apps/emqx_authn/src/simple_authn/emqx_authn_pgsql.erl b/apps/emqx_authn/src/simple_authn/emqx_authn_pgsql.erl index 2d7974301..3d9e1e08f 100644 --- a/apps/emqx_authn/src/simple_authn/emqx_authn_pgsql.erl +++ b/apps/emqx_authn/src/simple_authn/emqx_authn_pgsql.erl @@ -120,7 +120,7 @@ authenticate( } ) -> Params = emqx_authn_utils:render_sql_params(PlaceHolders, Credential), - case emqx_resource:query(ResourceId, {prepared_query, ResourceId, Params}) of + case emqx_resource:simple_sync_query(ResourceId, {prepared_query, ResourceId, Params}) of {ok, _Columns, []} -> ignore; {ok, Columns, [Row | _]} -> diff --git a/apps/emqx_authn/src/simple_authn/emqx_authn_redis.erl b/apps/emqx_authn/src/simple_authn/emqx_authn_redis.erl index 12b7422b5..8c9cb5333 100644 --- a/apps/emqx_authn/src/simple_authn/emqx_authn_redis.erl +++ b/apps/emqx_authn/src/simple_authn/emqx_authn_redis.erl @@ -139,7 +139,7 @@ authenticate( ) -> NKey = emqx_authn_utils:render_str(KeyTemplate, Credential), Command = [CommandName, NKey | Fields], - case emqx_resource:query(ResourceId, {cmd, Command}) of + case emqx_resource:simple_sync_query(ResourceId, {cmd, Command}) of {ok, []} -> ignore; {ok, Values} -> diff --git a/apps/emqx_authn/test/emqx_authn_mysql_SUITE.erl b/apps/emqx_authn/test/emqx_authn_mysql_SUITE.erl index 7681b6ee3..9d2c5cf63 100644 --- a/apps/emqx_authn/test/emqx_authn_mysql_SUITE.erl +++ b/apps/emqx_authn/test/emqx_authn_mysql_SUITE.erl @@ -516,13 +516,13 @@ init_seeds() -> ). q(Sql) -> - emqx_resource:query( + emqx_resource:simple_sync_query( ?MYSQL_RESOURCE, {sql, Sql} ). q(Sql, Params) -> - emqx_resource:query( + emqx_resource:simple_sync_query( ?MYSQL_RESOURCE, {sql, Sql, Params} ). diff --git a/apps/emqx_authn/test/emqx_authn_pgsql_SUITE.erl b/apps/emqx_authn/test/emqx_authn_pgsql_SUITE.erl index 66529525b..ff0bfaea7 100644 --- a/apps/emqx_authn/test/emqx_authn_pgsql_SUITE.erl +++ b/apps/emqx_authn/test/emqx_authn_pgsql_SUITE.erl @@ -594,13 +594,13 @@ create_user(Values) -> ok. q(Sql) -> - emqx_resource:query( + emqx_resource:simple_sync_query( ?PGSQL_RESOURCE, {query, Sql} ). q(Sql, Params) -> - emqx_resource:query( + emqx_resource:simple_sync_query( ?PGSQL_RESOURCE, {query, Sql, Params} ). diff --git a/apps/emqx_authn/test/emqx_authn_redis_SUITE.erl b/apps/emqx_authn/test/emqx_authn_redis_SUITE.erl index 1df1faa4c..4f25c8709 100644 --- a/apps/emqx_authn/test/emqx_authn_redis_SUITE.erl +++ b/apps/emqx_authn/test/emqx_authn_redis_SUITE.erl @@ -588,7 +588,7 @@ init_seeds() -> ). q(Command) -> - emqx_resource:query( + emqx_resource:simple_sync_query( ?REDIS_RESOURCE, {cmd, Command} ).