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

13

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

2个回答

24
据我所知,用户ID无法更改,但密码可以更改。
CouchDB文档介绍了详细的更改用户密码过程:CouchDB documentation,简而言之:
  • 获取org.couchdb.user:<myuser>文档

  • 添加纯文本密码字段

  • 将文档存储回_users数据库

一旦文档存储在数据库中,CouchDB会使用PBKDF2重新哈希纯文本密码(至少从CouchDB 1.3版本开始)。

7

很遗憾,目前没有内置的API可以完成此操作。目前最好的方法是阅读jquery.couch.js代码,以进行账户创建,然后使用相同的代码或算法来进行账户修改

具体而言,您需要更新password_shasalt的值来更改密码。要更改用户名,必须创建一个新文档,然后删除旧文档。只需保持_idname值同步即可。


谢谢你的建议。如果没有修改API,我猜想创建一个新用户/删除旧用户可能是解决问题的方法。我会尝试一下。 - Logic Artist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接