使用HTTPS进行CouchDB cookie身份验证

时间:2014-06-06 20:38:43

标签: curl https 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'

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

1 个答案:

答案 0 :(得分: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'

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

但现在仍然存在问题:我是否需要每次提供两次登录信息才能进行cookie身份验证?我提供一个基本身份验证登录和另一个cookie身份验证登录?这可能对系统构成威胁吗?