有没有我可以用来验证用户密码的 couchdb API?

Is there a couchdb API that I can use to validate a user's password?

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

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

  • 创建一个视图,在其中使用由用户名 + 密码连接而成的字符串作为键
  • 查询包含您通过连接用户提供的用户名 + 密码作为密钥创建的字符串的文档的密钥。
  • 如果存在以给定字符串作为键的文档,则凭证是正确的。

备注:

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

您可以只使用 Basic Authentication 而不是 Cookie 身份验证(_session API 正如您描述的那样)。