rabbitmq / rabbitmq-auth-backend-http

HTTP-based authorisation and authentication for RabbitMQ
Other
199 stars 72 forks source link

about issue #5, this does not work #17

Closed deemytch closed 8 years ago

deemytch commented 8 years ago

rabbitmq 3.6.0

With this config:

      {auth_backends, {rabbit_auth_backend_http, rabbit_auth_backend_internal}}

I get rabbitmq restarted well, but when I try to login with http://localhost:15672 I get errors below. When I change the line with auth_backends to square brackets, it works ok, but uses for only http_backend authorization, not connecting to internal backend at all. So, to using both backends only that work:

{auth_backends, [rabbit_auth_backend_internal, rabbit_auth_backend_http]}

Error log.

webmachine error: path="/api/whoami"
{error,function_clause,
       [{lists,foldl,
               [#Fun<rabbit_access_control.0.120764792>,
                {refused,<<"root">>,"No modules checked '~s'",[<<"root">>]},
                {rabbit_auth_backend_http,rabbit_auth_backend_internal}],
               [{file,"lists.erl"},{line,1261}]},
        {rabbit_mgmt_util,is_authorized,6,
                          [{file,"src/rabbit_mgmt_util.erl"},{line,128}]},
        {webmachine_resource,resource_call,3,
                             [{file,"src/webmachine_resource.erl"},
                              {line,186}]},
        {webmachine_resource,do,3,
                             [{file,"src/webmachine_resource.erl"},
                              {line,142}]},
        {webmachine_decision_core,resource_call,1,
                                  [{file,"src/webmachine_decision_core.erl"},
                                   {line,48}]},
        {webmachine_decision_core,decision,1,
                                  [{file,"src/webmachine_decision_core.erl"},
                                   {line,213}]},
        {webmachine_decision_core,handle_request,2,
                                  [{file,"src/webmachine_decision_core.erl"},
                                   {line,33}]},
        {rabbit_webmachine,'-makeloop/1-fun-0-',2,
                           [{file,"src/rabbit_webmachine.erl"},{line,55}]}]}
michaelklishin commented 8 years ago

Please start with what you are trying to achieve. Please ask questions on the mailing list.

michaelklishin commented 8 years ago

Per documentation,

{auth_backends, {rabbit_auth_backend_http, rabbit_auth_backend_internal}}

is not a valid value because it is not a list. Perhaps you are looking for

{auth_backends, [{rabbit_auth_backend_http, rabbit_auth_backend_internal}]}

which is a list with a single pair of {authentication, authorisation} backends.