Merge pull request #887 from chimit/master

Add ClientId parameter into the auth on HTTP Publish
This commit is contained in:
Feng Lee 2017-07-26 13:02:02 +08:00 committed by GitHub
commit f25661d3cd
1 changed files with 3 additions and 1 deletions

View File

@ -112,13 +112,15 @@ validate(topic, Topic) ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
authorized(Req) -> authorized(Req) ->
Params = mochiweb_request:parse_post(Req),
ClientId = get_value("client", Params, http),
case Req:get_header_value("Authorization") of case Req:get_header_value("Authorization") of
undefined -> undefined ->
false; false;
"Basic " ++ BasicAuth -> "Basic " ++ BasicAuth ->
{Username, Password} = user_passwd(BasicAuth), {Username, Password} = user_passwd(BasicAuth),
{ok, Peer} = Req:get(peername), {ok, Peer} = Req:get(peername),
case emqttd_access_control:auth(#mqtt_client{username = Username, peername = Peer}, Password) of case emqttd_access_control:auth(#mqtt_client{client_id = ClientId, username = Username, peername = Peer}, Password) of
ok -> ok ->
true; true;
{ok, _IsSuper} -> {ok, _IsSuper} ->