Merge pull request #9793 from zmstone/0117-use-simple-sync-query-for-authn-authz

0117 use simple sync query for authn authz
This commit is contained in:
Zaiming (Stone) Shi 2023-01-17 20:47:22 +01:00 committed by GitHub
commit 394e8ab6a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 28 additions and 22 deletions

View File

@ -192,7 +192,7 @@ authenticate(
} = State } = State
) -> ) ->
Request = generate_request(Credential, 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", #{ ?TRACE_AUTHN_PROVIDER("http_response", #{
request => request_for_log(Credential, State), request => request_for_log(Credential, State),
response => response_for_log(Response), response => response_for_log(Response),

View File

@ -187,7 +187,7 @@ update(
#{use_jwks := true} = Config, #{use_jwks := true} = Config,
#{jwk_resource := ResourceId} = State #{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 -> ok ->
case maps:get(verify_claims, Config, undefined) of case maps:get(verify_claims, Config, undefined) of
undefined -> undefined ->
@ -229,7 +229,7 @@ authenticate(
from := From from := From
} }
) -> ) ->
case emqx_resource:query(ResourceId, get_jwks) of case emqx_resource:simple_sync_query(ResourceId, get_jwks) of
{error, Reason} -> {error, Reason} ->
?TRACE_AUTHN_PROVIDER(error, "get_jwks_failed", #{ ?TRACE_AUTHN_PROVIDER(error, "get_jwks_failed", #{
resource => ResourceId, resource => ResourceId,

View File

@ -167,7 +167,7 @@ authenticate(
} = State } = State
) -> ) ->
Filter = emqx_authn_utils:render_deep(FilterTemplate, Credential), 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} -> {ok, undefined} ->
ignore; ignore;
{error, Reason} -> {error, Reason} ->

View File

@ -118,7 +118,9 @@ authenticate(
} }
) -> ) ->
Params = emqx_authn_utils:render_sql_params(TmplToken, Credential), 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, []} -> {ok, _Columns, []} ->
ignore; ignore;
{ok, Columns, [Row | _]} -> {ok, Columns, [Row | _]} ->

View File

@ -120,7 +120,7 @@ authenticate(
} }
) -> ) ->
Params = emqx_authn_utils:render_sql_params(PlaceHolders, Credential), 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, []} -> {ok, _Columns, []} ->
ignore; ignore;
{ok, Columns, [Row | _]} -> {ok, Columns, [Row | _]} ->

View File

@ -139,7 +139,7 @@ authenticate(
) -> ) ->
NKey = emqx_authn_utils:render_str(KeyTemplate, Credential), NKey = emqx_authn_utils:render_str(KeyTemplate, Credential),
Command = [CommandName, NKey | Fields], Command = [CommandName, NKey | Fields],
case emqx_resource:query(ResourceId, {cmd, Command}) of case emqx_resource:simple_sync_query(ResourceId, {cmd, Command}) of
{ok, []} -> {ok, []} ->
ignore; ignore;
{ok, Values} -> {ok, Values} ->

View File

@ -516,13 +516,13 @@ init_seeds() ->
). ).
q(Sql) -> q(Sql) ->
emqx_resource:query( emqx_resource:simple_sync_query(
?MYSQL_RESOURCE, ?MYSQL_RESOURCE,
{sql, Sql} {sql, Sql}
). ).
q(Sql, Params) -> q(Sql, Params) ->
emqx_resource:query( emqx_resource:simple_sync_query(
?MYSQL_RESOURCE, ?MYSQL_RESOURCE,
{sql, Sql, Params} {sql, Sql, Params}
). ).

View File

@ -594,13 +594,13 @@ create_user(Values) ->
ok. ok.
q(Sql) -> q(Sql) ->
emqx_resource:query( emqx_resource:simple_sync_query(
?PGSQL_RESOURCE, ?PGSQL_RESOURCE,
{query, Sql} {query, Sql}
). ).
q(Sql, Params) -> q(Sql, Params) ->
emqx_resource:query( emqx_resource:simple_sync_query(
?PGSQL_RESOURCE, ?PGSQL_RESOURCE,
{query, Sql, Params} {query, Sql, Params}
). ).

View File

@ -588,7 +588,7 @@ init_seeds() ->
). ).
q(Command) -> q(Command) ->
emqx_resource:query( emqx_resource:simple_sync_query(
?REDIS_RESOURCE, ?REDIS_RESOURCE,
{cmd, Command} {cmd, Command}
). ).

View File

@ -82,7 +82,7 @@ authorize(
} = Config } = Config
) -> ) ->
Request = generate_request(PubSub, Topic, Client, Config), Request = generate_request(PubSub, Topic, Client, Config),
case emqx_resource:query(ResourceID, {Method, Request, RequestTimeout}) of case emqx_resource:simple_sync_query(ResourceID, {Method, Request, RequestTimeout}) of
{ok, 204, _Headers} -> {ok, 204, _Headers} ->
{matched, allow}; {matched, allow};
{ok, 200, Headers, Body} -> {ok, 200, Headers, Body} ->

View File

@ -79,7 +79,7 @@ authorize(
RenderedFilter = emqx_authz_utils:render_deep(FilterTemplate, Client), RenderedFilter = emqx_authz_utils:render_deep(FilterTemplate, Client),
Result = Result =
try try
emqx_resource:query(ResourceID, {find, Collection, RenderedFilter, #{}}) emqx_resource:simple_sync_query(ResourceID, {find, Collection, RenderedFilter, #{}})
catch catch
error:Error -> {error, Error} error:Error -> {error, Error}
end, end,

View File

@ -82,7 +82,9 @@ authorize(
} }
) -> ) ->
RenderParams = emqx_authz_utils:render_sql_params(TmplToken, Client), RenderParams = emqx_authz_utils:render_sql_params(TmplToken, Client),
case emqx_resource:query(ResourceID, {prepared_query, ?PREPARE_KEY, RenderParams}) of case
emqx_resource:simple_sync_query(ResourceID, {prepared_query, ?PREPARE_KEY, RenderParams})
of
{ok, _Columns, []} -> {ok, _Columns, []} ->
nomatch; nomatch;
{ok, Columns, Rows} -> {ok, Columns, Rows} ->

View File

@ -87,7 +87,9 @@ authorize(
} }
) -> ) ->
RenderedParams = emqx_authz_utils:render_sql_params(Placeholders, Client), RenderedParams = emqx_authz_utils:render_sql_params(Placeholders, Client),
case emqx_resource:query(ResourceID, {prepared_query, ResourceID, RenderedParams}) of case
emqx_resource:simple_sync_query(ResourceID, {prepared_query, ResourceID, RenderedParams})
of
{ok, _Columns, []} -> {ok, _Columns, []} ->
nomatch; nomatch;
{ok, Columns, Rows} -> {ok, Columns, Rows} ->

View File

@ -78,7 +78,7 @@ authorize(
} }
) -> ) ->
Cmd = emqx_authz_utils:render_deep(CmdTemplate, Client), Cmd = emqx_authz_utils:render_deep(CmdTemplate, Client),
case emqx_resource:query(ResourceID, {cmd, Cmd}) of case emqx_resource:simple_sync_query(ResourceID, {cmd, Cmd}) of
{ok, []} -> {ok, []} ->
nomatch; nomatch;
{ok, Rows} -> {ok, Rows} ->

View File

@ -321,13 +321,13 @@ raw_mysql_authz_config() ->
}. }.
q(Sql) -> q(Sql) ->
emqx_resource:query( emqx_resource:simple_sync_query(
?MYSQL_RESOURCE, ?MYSQL_RESOURCE,
{sql, Sql} {sql, Sql}
). ).
q(Sql, Params) -> q(Sql, Params) ->
emqx_resource:query( emqx_resource:simple_sync_query(
?MYSQL_RESOURCE, ?MYSQL_RESOURCE,
{sql, Sql, Params} {sql, Sql, Params}
). ).

View File

@ -326,13 +326,13 @@ raw_pgsql_authz_config() ->
}. }.
q(Sql) -> q(Sql) ->
emqx_resource:query( emqx_resource:simple_sync_query(
?PGSQL_RESOURCE, ?PGSQL_RESOURCE,
{query, Sql} {query, Sql}
). ).
insert(Sql, Params) -> insert(Sql, Params) ->
{ok, _} = emqx_resource:query( {ok, _} = emqx_resource:simple_sync_query(
?PGSQL_RESOURCE, ?PGSQL_RESOURCE,
{query, Sql, Params} {query, Sql, Params}
), ),

View File

@ -263,7 +263,7 @@ raw_redis_authz_config() ->
}. }.
q(Command) -> q(Command) ->
emqx_resource:query( emqx_resource:simple_sync_query(
?REDIS_RESOURCE, ?REDIS_RESOURCE,
{cmd, Command} {cmd, Command}
). ).