2009-12-17 5 views
1

J'essaie de créer une base de données dans couchdb, qui a un ensemble admin/mot de passe, en utilisant couchbeam. J'ai défini mes informations d'identification dans le fichier local.ini de couchdb et j'ai redémarré. Mon code pour créer une base de données est:Comment s'authentifier avec couchdb en utilisant couchbeam?

couchbeam:start(), 
Params = #couchdb_params{username="test" ,password="pass"}, 
Connection = couchbeam_server:start_connection_link(Params), 
Db = couchbeam_db:create(Connection, "testdb") 

À ce stade Db = {unknown_error, 401}. Est-ce que je fais quelque chose de mal ici? Le 401 semble indiquer une erreur d'authentification.

Mon nom d'utilisateur/mot de passe sont ok que cela fonctionne à partir de la ligne de commande:

$curl -X PUT http://test:[email protected]:5984/testdb 
{"ok":true} 

Je suis en Ubuntu 9.10, CouchDB 0.10.0. couchbeam 0.4.1, Erlang R1301. Des idées?

+0

Essayez les commandes de trace suivantes dans votre console: 'dbg: tracer().', 'Dbg: tpl (couchbeam_server, '_', [{'_', [], [{return_trace}]}]). ',' dbg: p (tout, c) '. ? La sortie de débogage après l'appel de couchbeam_db: create() peut vous mener vers le problème. – Zed

+0

Une différence entre les deux cas est que couchbeam utilise l'en-tête HTTP Authorization, tandis que curl transmet l'authentification via l'URL. Cela pourrait-il être un problème de configuration du serveur? – Zed

+0

J'ai couru le bit de trace, il n'a pas révélé de détails supplémentaires. Le 401 revient de couchdb. Toute idée de comment configurer couchdb pour prendre en-tête HTTP Authorization (peut-il faire cela)? –

Répondre

1

Cela s'est avéré être un bug avec couchbeam. Il a été fixed et le correctif a été publié au github.

+0

Acceptez votre réponse pour que les gens sachent que cette question est close. – Zed

+0

Will do - mais SO vous fait attendre 24h avant d'accepter votre propre réponse ... de sorte que vous devrez attendre au moins 6 heures supplémentaires. –

Questions connexes