更改 CouchDB _user 数据库中的用户名和密码
我正在使用 jquery.couch.js 在 Sproutcore 应用程序中对 CouchDB _users 数据库进行注册/登录/注销。有人知道更改用户 ID 和密码的方法吗?
I am using jquery.couch.js to do signup/login/logout to a CouchDB _users database in my Sproutcore application. Is anyone aware of a method for changing user _id and password?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
据我所知,用户 ID 无法更改,但密码可以。
CouchDB 文档详细描述了更改用户密码的过程,简短:
获取
org.couchdb.user:
文档添加带有明文密码的密码字段
将文档存储回
_users
数据库一旦文档进入数据库,CouchDB 就会使用 PBKDF2 重新哈希明文密码(至少从 CouchDB 1.3 开始)。
As far as I know the user id cannot be changed but the password can.
The CouchDB documentation describes the process of changing a user password in detail, short:
Get the
org.couchdb.user:<myuser>
documentAdd a password field with the plaintext password
Store the document back to the
_users
databaseAs soon as the document is in the database, the CouchDB rehashes the plaintext password using PBKDF2 (at least since CouchDB 1.3).
不幸的是,没有内置 API 可以执行此操作。目前最好的办法是阅读用于帐户创建的 jquery.couch.js 代码,并使用相同的代码或算法来进行帐户修改。
具体来说,您需要更新
password_sha
和salt
值才能更改密码。要更改用户名,您必须创建一个新文档,然后删除旧文档。只需保持_id
和name
值同步即可。Unfortunately, there is no built-in API to do this. The best thing for now is to read the jquery.couch.js code for account creation and use the same code or algorithms to do account modification.
Specifically, you need to update the
password_sha
andsalt
values to change a password. To change a user name, you must make a new document, then delete the old document. Just keep the_id
andname
values in sync and you'll be okay.