The furnace.auth.providers.couchdb vocabulary implements an authentication provider which looks up authentication requests in CouchDB. It is necessary to create a view associating usernames with user documents before using this vocabulary; see documentation for couchdb-auth-provider.

Although this implementation guarantees that users with duplicate IDs/emails cannot be created in a single CouchDB database, it provides no such guarantee if you are clustering multiple DBs. In this case, you are responsible for ensuring the uniqueness of users across databases.

Password hashes are base64 encoded.