通过 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。