Authentication 是否有couchdb API可用于验证用户';谁的密码?

Authentication 是否有couchdb API可用于验证用户';谁的密码?,authentication,couchdb,Authentication,Couchdb,我只想验证用户的用户名和密码而不登录,这可能吗?我看到我可以使用会话API,但这会在服务器上创建会话,我不想这样做:我只想测试给定的用户名/密码对是否正确。我自己从未尝试过,但听起来很简单: 创建一个视图,其中使用用户名+密码连接的字符串作为密钥 查询包含用户提供的用户名+密码作为密钥创建的字符串的文档的密钥 如果存在以给定字符串作为密钥的文档,则凭据是正确的 注: 如果需要,可以以相同的方式包含用户ID 当然,您需要(或者希望已经拥有)一个包含salt的哈希密码。显然,创建和查询视图必须

我只想验证用户的用户名和密码而不登录,这可能吗?我看到我可以使用会话API,但这会在服务器上创建会话,我不想这样做:我只想测试给定的用户名/密码对是否正确。

我自己从未尝试过,但听起来很简单:

  • 创建一个视图,其中使用用户名+密码连接的字符串作为密钥
  • 查询包含用户提供的用户名+密码作为密钥创建的字符串的文档的密钥
  • 如果存在以给定字符串作为密钥的文档,则凭据是正确的
注:

  • 如果需要,可以以相同的方式包含用户ID
  • 当然,您需要(或者希望已经拥有)一个包含salt的哈希密码。显然,创建和查询视图必须使用相同的哈希和盐析策略

您可以使用Cookie auth(您描述的会话API)来代替它。

嗯,但据我所知,密码已经散列存储在couchdb的(u user)表中,这意味着我必须匹配couchdb使用的散列算法,我想这不会太可怕。只是想确保没有遗漏任何内容您是否考虑过创建会话,然后立即在程序中删除它?@Greg是的,我考虑过这样做,最后我做的只是使用HTTP基本身份验证发出一个简单的请求,如果我得到了200个响应,那么我知道凭据是正确的。