通过 pouchDB 使用 Api 密钥访问 Cloudant 时无法进行身份验证
Unable to authenticate when accessing Cloudant using Api Key via pouchDB
首先,我是使用 Cloudant 的新手,所以这对我来说是一个非常陡峭的学习曲线。任何帮助表示赞赏。到目前为止,我能找到的所有信息都来自几年前看似过时的 SO 帖子。
我已经设置了一个正确显示在我的资源列表中的服务:
如果我单击该服务,我可以看到为它正确创建了服务凭据(信息已编辑):
{
"apikey": "********************************************",
"host": "******************-bluemix.cloudantnosqldb.appdomain.cloud",
"url": "https://***********-bluemix.cloudantnosqldb.appdomain.cloud",
"username": "***********-bluemix"
}
但是,当我尝试使用以下代码在 pouchDB 中使用这些凭据访问它时:
let db = new PouchDB(userCredentials.url, {
auth: {
username: 'userCredentials.username',
password: 'userCredentials.apiKey'
}
});
我遇到无法使用错误的用户名或密码进行身份验证的错误。
我还尝试过 IAM 管理部分并在那里使用服务凭证,确保我的凭证附有 API 密钥。使用该方法时,我将我的身份验证对象设置为用户名:apikeyname 和密码:实际密钥值。但每次,我仍然收到相同的身份验证错误。
任何人的任何见解都将提供巨大的帮助!一些注意事项,我已确保启用了 CORS,并且我将身份验证设置设置为仅 IAM(禁用旧版登录)
您要查找的密码是 password
而不是 apikey
。
您可以使用带用户名和密码的常规/基本身份验证,也可以使用 IAM API 密钥,但不能混合使用。
由于您请求的是 IAM-only 身份验证帐户,因此您无法使用基本身份验证。不幸的是,在撰写本文时,PouchDB 中不支持 IAM。
首先,我是使用 Cloudant 的新手,所以这对我来说是一个非常陡峭的学习曲线。任何帮助表示赞赏。到目前为止,我能找到的所有信息都来自几年前看似过时的 SO 帖子。
我已经设置了一个正确显示在我的资源列表中的服务:
如果我单击该服务,我可以看到为它正确创建了服务凭据(信息已编辑):
{
"apikey": "********************************************",
"host": "******************-bluemix.cloudantnosqldb.appdomain.cloud",
"url": "https://***********-bluemix.cloudantnosqldb.appdomain.cloud",
"username": "***********-bluemix"
}
但是,当我尝试使用以下代码在 pouchDB 中使用这些凭据访问它时:
let db = new PouchDB(userCredentials.url, {
auth: {
username: 'userCredentials.username',
password: 'userCredentials.apiKey'
}
});
我遇到无法使用错误的用户名或密码进行身份验证的错误。
我还尝试过 IAM 管理部分并在那里使用服务凭证,确保我的凭证附有 API 密钥。使用该方法时,我将我的身份验证对象设置为用户名:apikeyname 和密码:实际密钥值。但每次,我仍然收到相同的身份验证错误。
任何人的任何见解都将提供巨大的帮助!一些注意事项,我已确保启用了 CORS,并且我将身份验证设置设置为仅 IAM(禁用旧版登录)
您要查找的密码是 password
而不是 apikey
。
您可以使用带用户名和密码的常规/基本身份验证,也可以使用 IAM API 密钥,但不能混合使用。
由于您请求的是 IAM-only 身份验证帐户,因此您无法使用基本身份验证。不幸的是,在撰写本文时,PouchDB 中不支持 IAM。