[rabbitmq-discuss] How to specify user/pass
eleanor
evangeline.eleanor at gmail.com
Mon Jul 2 23:22:10 BST 2012
Yeah, that works fine with internal authentication scheme of rabbitmq.
But what about https://github.com/simonmacmullen/rabbitmq-auth-backend-http
. I've installed the plugin successfully.
Then I've put the following into ebin/rabbit.app as HTTP README says:
{application,rabbit,
[{description,"RabbitMQ"},
{id,"RabbitMQ"},
{vsn,"%%VSN%%"},
{modules,
[app_utils,credit_flow,delegate,delegate_sup,dtree,file_handle_cache,
gatherer,gen_server2,gm,gm_soak_test,gm_speed_test,gm_tests,lqueue,
mirrored_supervisor,mirrored_supervisor_tests,mnesia_sync,pg2_fixed,
pg_local,pmon,priority_queue,rabbit,rabbit_access_control,
rabbit_alarm,rabbit_amqqueue,rabbit_amqqueue_process,
rabbit_amqqueue_sup,rabbit_auth_backend,
rabbit_auth_backend_internal,rabbit_auth_mechanism,
rabbit_auth_mechanism_amqplain,rabbit_auth_mechanism_cr_demo,
rabbit_auth_mechanism_plain,rabbit_backing_queue,
rabbit_backing_queue_qc,rabbit_basic,rabbit_binary_generator,
rabbit_binary_parser,rabbit_binding,rabbit_channel,
rabbit_channel_sup,rabbit_channel_sup_sup,rabbit_client_sup,
rabbit_command_assembler,rabbit_connection_sup,rabbit_control_main,
rabbit_ctl_usage,rabbit_direct,rabbit_disk_monitor,
rabbit_error_logger,rabbit_error_logger_file_h,rabbit_event,
rabbit_exchange,rabbit_exchange_decorator,rabbit_exchange_type,
rabbit_exchange_type_direct,rabbit_exchange_type_fanout,
rabbit_exchange_type_headers,rabbit_exchange_type_invalid,
rabbit_exchange_type_topic,rabbit_file,rabbit_framing,
rabbit_framing_amqp_0_8,rabbit_framing_amqp_0_9_1,rabbit_guid,
rabbit_heartbeat,rabbit_limiter,rabbit_log,rabbit_memory_monitor,
rabbit_mirror_queue_coordinator,rabbit_mirror_queue_master,
rabbit_mirror_queue_misc,rabbit_mirror_queue_slave,
rabbit_mirror_queue_slave_sup,rabbit_misc,rabbit_mnesia,
rabbit_msg_file,rabbit_msg_store,rabbit_msg_store_ets_index,
rabbit_msg_store_gc,rabbit_msg_store_index,rabbit_net,
rabbit_networking,rabbit_node_monitor,rabbit_nodes,
rabbit_parameter_validation,rabbit_plugins,rabbit_plugins_main,
rabbit_plugins_usage,rabbit_policy,rabbit_prelaunch,
rabbit_queue_collector,rabbit_queue_index,rabbit_reader,
rabbit_registry,rabbit_restartable_sup,rabbit_router,
rabbit_runtime_parameter,rabbit_runtime_parameters,
rabbit_runtime_parameters_test,rabbit_sasl_report_file_h,rabbit_ssl,
rabbit_sup,rabbit_tests,rabbit_tests_event_receiver,rabbit_trace,
rabbit_types,rabbit_upgrade,rabbit_upgrade_functions,
rabbit_variable_queue,rabbit_version,rabbit_vhost,rabbit_writer,
supervisor2,tcp_acceptor,tcp_acceptor_sup,tcp_listener,
tcp_listener_sup,test_sup,vm_memory_monitor,worker_pool,
worker_pool_sup,worker_pool_worker]},
{registered,
[rabbit_amqqueue_sup,rabbit_log,rabbit_node_monitor,rabbit_router,
rabbit_sup,rabbit_tcp_client_sup,rabbit_direct_client_sup]},
{applications,[kernel,stdlib,sasl,mnesia,os_mon]},
{mod,{rabbit,[]}},
{rabbitmq_auth_backend_http,
[{user_path, "http://127.0.0.1/auth/user"},
{vhost_path, "http://127.0.0.1/auth/vhost"},
{resource_path, "http://127.0.0.1/auth/resource"}]},
{env,
[{hipe_compile,false},
{tcp_listeners,[5672]},
{ssl_listeners,[]},
{ssl_options,[]},
{vm_memory_high_watermark,0.4},
{disk_free_limit,1000000000},
{msg_store_index_module,rabbit_msg_store_ets_index},
{backing_queue_module,rabbit_variable_queue},
{frame_max,131072},
{msg_store_file_size_limit,16777216},
{queue_index_max_journal_entries,262144},
{default_user,<<"guest">>},
{default_pass,<<"guest">>},
{default_user_tags,[administrator]},
{default_vhost,<<"/">>},
{default_permissions,[<<".*">>,<<".*">>,<<".*">>]},
{cluster_nodes,[]},
{server_properties,[]},
{collect_statistics,none},
{collect_statistics_interval,5000},
{auth_mechanisms,['PLAIN','AMQPLAIN']},
{auth_backends,[rabbitmq_auth_backend_http]},
{delegate_count,16},
{trace_vhosts,[]},
{log_levels,[{connection,info}]},
{ssl_cert_login_from,distinguished_name},
{tcp_listen_options,
[binary,
{packet,raw},
{reuseaddr,true},
{backlog,128},
{nodelay,true},
{linger,{true,0}},
{exit_on_close,false}]}]}]}.
Notice the:
{rabbit, [{auth_backends, [rabbit_auth_backend_http]}]},
{rabbitmq_auth_backend_http,
[{user_path, "http://some-server/auth/user"},
{vhost_path, "http://some-server/auth/vhost"},
{resource_path, "http://some-server/auth/resource"}]}
The problem is that with the following send.py I cannot login to the
rabbitmq with HTTP server:
#!/usr/bin/env python
import pika
credentials = pika.PlainCredentials('test', 'test')
params = pika.ConnectionParameters(credentials=credentials,
host="localhost", virtual_host='/')
connection = pika.BlockingConnection(params)
channel = connection.channel()
channel.queue_declare(queue='')
channel.basic_publish(exchange='logs', routing_key='', body='Hello World!')
connection.close()
I specified the test:test username and password, since that's what I added
to the django application, which is included as an example to the HTTP
plugin. If I enter the GET request:
http://127.0.0.1:8000/auth/user?username=test&password=test
everything is ok - the user is authenticated.
But when I try to login with the send.py script, the GET request isn't even
made. Now my question is: how to fix rabbitmq for rabbitmq to start making
GET requests to the http server or how to debug an issue?
Thank you
--
View this message in context: http://rabbitmq.1065348.n5.nabble.com/How-to-specify-user-pass-tp20479p20525.html
Sent from the RabbitMQ mailing list archive at Nabble.com.
More information about the rabbitmq-discuss
mailing list