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:
commit
394e8ab6a4
|
@ -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),
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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} ->
|
||||||
|
|
|
@ -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 | _]} ->
|
||||||
|
|
|
@ -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 | _]} ->
|
||||||
|
|
|
@ -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} ->
|
||||||
|
|
|
@ -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}
|
||||||
).
|
).
|
||||||
|
|
|
@ -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}
|
||||||
).
|
).
|
||||||
|
|
|
@ -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}
|
||||||
).
|
).
|
||||||
|
|
|
@ -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} ->
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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} ->
|
||||||
|
|
|
@ -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} ->
|
||||||
|
|
|
@ -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} ->
|
||||||
|
|
|
@ -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}
|
||||||
).
|
).
|
||||||
|
|
|
@ -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}
|
||||||
),
|
),
|
||||||
|
|
|
@ -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}
|
||||||
).
|
).
|
||||||
|
|
Loading…
Reference in New Issue