kvzhkv commented on issue #747: proxy authentication still not configurable
URL: https://github.com/apache/couchdb/issues/747#issuecomment-322042279
 
 
   Yes, when I use cURL or postman to set up `_security` document there is no 
bugs...
   Anyway, problem with `_security`  not worries me as much as problem with 
proxy authentication.
   
   So, using cURL, I'm getting my config with admin username and password
   `curl -X GET \
     http://localhost:5984/_node/couchdb@localhost/_config/ \
     -H 'authorization: Basic YWRtaW46Y291Y2hkYmFkbWlu'`
   here it is:
   
   > {
   >     "native_query_servers": {
   >         "query": "{mango_native_proc, start_link, []}"
   >     },
   >     "httpd_design_handlers": {
   >         "_compact": "{couch_mrview_http, handle_compact_req}",
   >         "_info": "{couch_mrview_http, handle_info_req}",
   >         "_list": "{couch_mrview_show, handle_view_list_req}",
   >         "_rewrite": "{couch_httpd_rewrite, handle_rewrite_req}",
   >         "_show": "{couch_mrview_show, handle_doc_show_req}",
   >         "_update": "{couch_mrview_show, handle_doc_update_req}",
   >         "_view": "{couch_mrview_http, handle_view_req}",
   >         "_view_changes": "{couch_mrview_http, handle_view_changes_req}"
   >     },
   >     "uuids": {
   >         "algorithm": "sequential",
   >         "max_count": "1000"
   >     },
   >     "cluster": {
   >         "n": "1",
   >         "q": "2"
   >     },
   >     "cors": {
   >         "credentials": "false"
   >     },
   >     "chttpd": {
   >         "backlog": "512",
   >         "bind_address": "0.0.0.0",
   >         "docroot": "./share/www",
   >         "port": "5984",
   >         "require_valid_user": "false",
   >         "socket_options": "[{recbuf, 262144}, {sndbuf, 262144}, {nodelay, 
true}]"
   >     },
   >     "httpd_global_handlers": {
   >         "/": "{couch_httpd_misc_handlers, handle_welcome_req, 
<<\"Welcome\">>}",
   >         "_active_tasks": "{couch_httpd_misc_handlers, 
handle_task_status_req}",
   >         "_all_dbs": "{couch_httpd_misc_handlers, handle_all_dbs_req}",
   >         "_config": "{couch_httpd_misc_handlers, handle_config_req}",
   >         "_plugins": "{couch_plugins_httpd, handle_req}",
   >         "_replicate": "{couch_replicator_httpd, handle_req}",
   >         "_restart": "{couch_httpd_misc_handlers, handle_restart_req}",
   >         "_session": "{couch_httpd_auth, handle_session_req}",
   >         "_stats": "{couch_stats_httpd, handle_stats_req}",
   >         "_system": "{chttpd_misc, handle_system_req}",
   >         "_utils": "{couch_httpd_misc_handlers, handle_utils_dir_req, 
\"./share/www\"}",
   >         "_uuids": "{couch_httpd_misc_handlers, handle_uuids_req}",
   >         "favicon.ico": "{couch_httpd_misc_handlers, handle_favicon_req, 
\"./share/www\"}"
   >     },
   >     "attachments": {
   >         "compressible_types": "text/*, application/javascript, 
application/json, application/xml",
   >         "compression_level": "8"
   >     },
   >     "admins": {
   >         "admin": 
"-pbkdf2-b1d43483c194bfec3513950d35b196a430961363,05c745791b552869aac2ba9afcd1043b,10"
   >     },
   >     "query_server_config": {
   >         "os_process_limit": "100",
   >         "reduce_limit": "true"
   >     },
   >     "vendor": {
   >         "name": "The Apache Software Foundation"
   >     },
   >     "chttpd_auth": {
   >         "authentication_db": "_users",
   >         "proxy_use_secret": "false",
   >         "secret": "secret",
   >         "x_auth_roles": "X-Auth-CouchDB-Roles",
   >         "x_auth_token": "X-Auth-CouchDB-Token",
   >         "x_auth_username": "X-Auth-CouchDB-UserName"
   >     },
   >     "replicator": {
   >         "connection_timeout": "30000",
   >         "http_connections": "20",
   >         "interval": "60000",
   >         "max_churn": "20",
   >         "max_jobs": "500",
   >         "retries_per_request": "10",
   >         "socket_options": "[{keepalive, true}, {nodelay, false}]",
   >         "ssl_certificate_max_depth": "3",
   >         "startup_jitter": "5000",
   >         "verify_ssl_certificates": "false",
   >         "worker_batch_size": "500",
   >         "worker_processes": "4"
   >     },
   >     "ssl": {
   >         "port": "6984"
   >     },
   >     "log": {
   >         "file": "/Users/konstantin/Library/Logs/CouchDB2.log",
   >         "level": "info",
   >         "writer": "file"
   >     },
   >     "indexers": {
   >         "couch_mrview": "true"
   >     },
   >     "view_compaction": {
   >         "keyvalue_buffer_size": "2097152"
   >     },
   >     "query_servers": {
   >         "coffeescript": "./bin/couchjs ./share/server/main-coffee.js",
   >         "javascript": "./bin/couchjs ./share/server/main.js"
   >     },
   >     "features": {
   >         "scheduler": "true"
   >     },
   >     "daemons": {
   >         "auth_cache": "{couch_auth_cache, start_link, []}",
   >         "compaction_daemon": "{couch_compaction_daemon, start_link, []}",
   >         "couch_peruser": "{couch_peruser, start_link, []}",
   >         "external_manager": "{couch_external_manager, start_link, []}",
   >         "httpd": "{couch_httpd, start_link, []}",
   >         "index_server": "{couch_index_server, start_link, []}",
   >         "os_daemons": "{couch_os_daemons, start_link, []}",
   >         "query_servers": "{couch_proc_manager, start_link, []}",
   >         "uuids": "{couch_uuids, start, []}",
   >         "vhosts": "{couch_httpd_vhost, start_link, []}"
   >     },
   >     "couch_peruser": {
   >         "delete_dbs": "false",
   >         "enable": "false"
   >     },
   >     "httpd": {
   >         "allow_jsonp": "false",
   >         "authentication_handlers": "{chttpd_auth, 
proxy_authentification_handler}, {chttpd_auth, default_authentication_handler}",
   >         "bind_address": "127.0.0.1",
   >         "default_handler": "{couch_httpd_db, handle_request}",
   >         "enable_cors": "false",
   >         "enable_xframe_options": "false",
   >         "max_http_request_size": "67108864",
   >         "port": "5986",
   >         "secure_rewrites": "true",
   >         "socket_options": "[{recbuf, 262144}, {sndbuf, 262144}]",
   >         "vhost_global_handlers": "_utils, _uuids, _session, _users"
   >     },
   >     "httpd_db_handlers": {
   >         "_all_docs": "{couch_mrview_http, handle_all_docs_req}",
   >         "_changes": "{couch_httpd_db, handle_db_changes_req}",
   >         "_compact": "{couch_httpd_db, handle_compact_req}",
   >         "_design": "{couch_httpd_db, handle_design_req}",
   >         "_design_docs": "{couch_mrview_http, handle_design_docs_req}",
   >         "_local_docs": "{couch_mrview_http, handle_local_docs_req}",
   >         "_temp_view": "{couch_mrview_http, handle_temp_view_req}",
   >         "_view_cleanup": "{couch_mrview_http, handle_cleanup_req}"
   >     },
   >     "database_compaction": {
   >         "checkpoint_after": "5242880",
   >         "doc_buffer_size": "524288"
   >     },
   >     "csp": {
   >         "enable": "true"
   >     },
   >     "couch_httpd_auth": {
   >         "allow_persistent_cookies": "false",
   >         "auth_cache_size": "50",
   >         "authentication_db": "_users",
   >         "authentication_redirect": "/_utils/session.html",
   >         "iterations": "10",
   >         "require_valid_user": "true",
   >         "secret": "734b6574959bc80b2178a26ea227426b",
   >         "timeout": "600"
   >     },
   >     "couchdb": {
   >         "attachment_stream_buffer_size": "4096",
   >         "changes_doc_ids_optimization_threshold": "100",
   >         "database_dir": "/Users/konstantin/Library/Application 
Support/CouchDB2/var/lib/couchdb",
   >         "default_security": "admin_local",
   >         "delayed_commits": "false",
   >         "file_compression": "snappy",
   >         "max_dbs_open": "500",
   >         "os_process_timeout": "5000",
   >         "uri_file": "/Users/konstantin/Library/Application 
Support/CouchDB2/var/run/couchdb/couch.uri",
   >         "uuid": "58ec703a7dbd7c09602dd53365e74f00",
   >         "view_index_dir": "/Users/konstantin/Library/Application 
Support/CouchDB2/var/lib/couchdb"
   >     },
   >     "compactions": {
   >         "_default": "[{db_fragmentation, \"70%\"}, {view_fragmentation, 
\"60%\"}]"
   >     },
   >     "compaction_daemon": {
   >         "check_interval": "300",
   >         "min_file_size": "131072"
   >     }
   > }
   
   Then I do this:
   `curl -X GET \
     http://localhost:5984/_session \
     -H 'accept: application/json' \
     -H 'content-type: application/json' \
     -H 'X-Auth-CouchDB-UserName: testuser'`
   response:
   >  {
   >     "ok": true,
   >     "userCtx": {
   >         "name": null,
   >         "roles": []
   >     },
   >     "info": {
   >         "authentication_db": "_users",
   >         "authentication_handlers": [
   >             "cookie",
   >             "default"
   >         ]
   >     }
   > }
   so there is no "proxy" in authentication_handlers
   
   getting _security of test database with admin username and password
   `curl -X GET \
     http://localhost:5984/test/_security \
     -H 'authorization: Basic YWRtaW46Y291Y2hkYmFkbWlu'`
   response:
   
   > {
   >     "admins": {
   >         "names": [
   >             "testuser"
   >         ]
   >     },
   >     "members": {
   >         "names": [
   >             "testuser"
   >         ]
   >     }
   > }
   
   trying to GET db with proxy header
   `curl -X GET \
     http://localhost:5984/test \
     -H 'accept: application/json' \
     -H 'content-type: application/json' \
     -H 'X-Auth-CouchDB-UserName: testuser'`
   response:
   
   > {
   >     "error": "unauthorized",
   >     "reason": "You are not authorized to access this db."
   > }
   
   proxy not working...
   
   Today I've also tried the same operations on Windows 10 with postman and got 
exactly the same results.
   
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to