仅在Windows计算机中安装了ouchdb 3.00版本,并配置为单节点。
即使在安装后也要在安装中定义管理员。定义后重新启动了ouchDB。
但是当我尝试通过shell脚本创建数据库时,它会响应:
我绝对确定我的密码正确。
我想知道我是否犯了错误或错误。
该问题与CouchDB无关,而是与Invoke-WebRequest允许的身份验证方法有关。
虽然我找不到任何明确声明支持URL凭据的文档,但确实在PowerShell文档中找到了are支持的身份验证方法的列表:-身份验证
指定用于请求的显式身份验证类型。默认为无。身份验证不能与UseDefaultCredentials。可用的身份验证选项:
无
:未提供身份验证时,这是默认选项;不使用显式身份验证。Basic:需要凭据。凭证在RFC 7617基本身份验证标头中以以下格式发送:base64(user:password)。
Bearer:需要令牌。发送RFC6750授权:带有提供的令牌的Bearer标头。这是一OAuth的别名
OAuth:需要令牌。发送RFC 6750授权:带有提供的令牌的承载头。这是一个别名持票人
我将以上解释为您正在使用的身份验证方法 不支持。 FWIW,cURL允许轻松进行内联URL http身份验证,但这不是一个选择。 # setup variables to form a HTTP Basic Authorization
$uid = "<username>"
$pwd = "<password>"
# Convert the Basic credentials to bytes
$atob = [System.Text.Encoding]::UTF8.GetBytes($uid +":" + $pwd)
# To Base64 encoding
$auth = "Basic " + [System.Convert]::ToBase64String($atob)
# Create the database
Invoke-WebRequest -Method PUT -Url http://127.0.0.1:5964/abc -Headers @{"Authorization"=$auth}
以上代码从有关基本身份验证的SO Q/A答案中借用。