在CouchDB _user数据库中更改用户名和密码

时间:2011-04-05 21:39:30

标签: passwords couchdb

我正在使用jquery.couch.js对我的Sproutcore应用程序中的CouchDB _users数据库进行注册/登录/注销。是否有人知道更改用户_id和密码的方法?

2 个答案:

答案 0 :(得分:16)

据我所知,用户ID无法更改,但密码可以。

CouchDB documentation详细描述了更改用户密码的过程,简称:

  • 获取org.couchdb.user:<myuser>文档

  • 使用明文密码添加密码字段

  • 将文档存储回_users数据库

只要文档在数据库中,CouchDB就会使用PBKDF2重新获取明文密码(至少从CouchDB 1.3开始)。

答案 1 :(得分:5)

不幸的是,没有内置的API可以做到这一点。现在最好的方法是阅读帐户创建的jquery.couch.js代码,并使用相同的代码或算法来进行帐户修改

具体来说,您需要更新password_shasalt值才能更改密码。要更改用户名,您必须创建一个新文档,然后删除旧文档。只需保持_idname值同步,您就可以了。