使用HTTPS进行CouchDB cookie身份验证

Wei*_*uan 6 https curl couchdb

我使用HTTPS完全按照文档中给出的指令配置了我的CouchDB(仅我将ssl端口更改为6161).我创建了两个管理员.然后,当我尝试使用cookie身份验证登录时,如下所示:

curl -kX POST https://localhost:6161/_session \
   -H 'Content-Type:application/x-www-form-urlencoded' \
   -d 'name=admin&password=admin'
Run Code Online (Sandbox Code Playgroud)

用户名和密码是正确的,因为我可以使用-ucurl选项登录.但我总是有unauthorized错误.我不确定这里有什么问题.

Wei*_*uan 2

我终于知道在这种情况下我应该做什么。我需要结合基本身份验证和 cookie 身份验证才能登录。

curl -kX POST -u admin:admin https://localhost:6161/_session \
     -H 'Content-Type:application/x-www-form-urlencoded' \
     -d 'name=admin&password=admin'
Run Code Online (Sandbox Code Playgroud)

也许是因为我设置了require_valid_user = true,cookie 身份验证是 REST API 的一种,而基本身份验证是 HTTP 协议的一部分,并且上面的标志影响 HTTP 级别。

但现在还有一个问题:是否需要每次提供两次登录信息才能进行cookie认证?我提供一个用于基本身份验证的登录名和另一个用于 cookie 身份验证的登录名怎么样?这会对系统构成威胁吗?