couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Anderson <>
Subject Re: User Auth
Date Fri, 20 Feb 2009 23:01:33 GMT
On Fri, Feb 20, 2009 at 1:51 PM, Stefan Karpinski
<> wrote:
> I'm not entirely clear what level of user auth is being addressed here.
> On the one hand, there's the system-level sense of a user that traditional
> databases have: i.e. something equivalent to a UNIX user account, but in the
> database, which has to be created by an admin and can then be granted
> table-level access and various administrative rights (create user, create
> database, create table).
> On the other hand, there's the application-level sense of user: i.e. a
> record in a users table, which is given access or not given access to
> database records via the web application stack at a higher level, which sits
> between the database and the client's web browser (or whatever).
> The current CouchDB notion of admin user seems to fall into the former
> category, while what most applications need falls into the latter category.
> One irritation of all application-level authentication schemes I've ever
> encountered is that the database does not give you any support for
> application-level user auth. If CouchApps are really going to be feasible,
> CouchDB (clearly) needs to solve the application-level user authentication
> problem.
> My sense is that the goal is to somehow merge the two senses of database
> user, and thereby cleave the Gordian knot in two. Is that sense correct?

I wish I could say we've got such a clear picture of it.

The easiest way to cleave the knot is probably to rely on 3rd party
auth like OpenID or OAuth (I don't quite know which parts of which
we're interested in).

Identifying users as URLs would make things easier on application devs, I think.

If every app will need to implement something like this, it makes
sense to me to have the CouchDB host manage the session, even if apps
can keep their own user-preferences docs if they wish. Being logged
into all the apps on a node seems a lot more intuitive than having to
create accounts for each one. If the user is identified with a URL,
then preferences etc can be replicated to other hosts while everything
"just works".

Thanks for the feedback!

Chris Anderson

View raw message