3
votes

I recently install CouchDB on my CentOS box ('yum install couchdb'). I set up an admin account and then set out to create my first non-admin user. I issue the command..

curl -X PUT http://admin:abc123@localhost:5984/_users/org.couchdb.user:brad \
     -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -d '{"name": "brad", "password": "asdf", "roles": [], "type": "user"}'

The response looks good..

{"ok":true,"id":"org.couchdb.user:brad","rev":"3-078014aabce23da851ef243f92a7fc5c"}

Now, to verify the user data has been created properly I get the new user data..

 curl -X GET http://admin:abc123@localhost:5984/_users/org.couchdb.user:brad/

.. and I get the following response which seems to be missing some things..

{"_id":"org.couchdb.user:brad","_rev":"3-078014aabce23da851ef243f92a7fc5c","name":"brad","password":"asdf","roles":[],"type":"user"}

... from everything I've read there should be some additional fields.. "password_scheme", "iterations", "derived_key", and "salt". Further, I've created a database in Futon and set "brad" as a reader for that database, but when I attempt to access the DB as brad from the CLI I get an error..

curl -X GET http://brad:asdf@localhost:5984/test_db

{"error":"unauthorized","reason":"Name or password is incorrect."}

Anyone have any idea why CouchDB isn't processing the new user properly?

1

1 Answers

4
votes

It looks like your CouchDB is out of date; the new authentication stuff is in 1.3.0+. You may have better luck using build-couchdb: https://github.com/jhs/build-couchdb