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?
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
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
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)? –