我完全按照文档中给出的说明使用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
错误。我不知道这里出了什么问题。
发布于 2014-06-08 04:42:47
我终于想出了在这种情况下我应该做什么。我需要结合使用基本身份验证和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身份验证的登录如何?这会对系统构成威胁吗?
https://stackoverflow.com/questions/24090242
复制相似问题