使用 AWS Cognito 内置网页进行身份验证

Authentification with AWS Coginito built-in web page

我正在使用 AWS Cognito 内置网页构建身份验证。

(我正在使用没有任何其他提供商的 Cognito 用户池和身份池)

Cognito 网页 return 给我一个令牌 (idtoken),我把它放在 cookie 中。

当我尝试使用此令牌获取凭据时,使用以下代码:

AWS.config.credentials = new AWS.CognitoIdentityCredentials({
  IdentityPoolId: 'eu-west-1:XXXXXXXXXXXXXXXXXXXXXX',
  Logins: {
    'cognito-idp.eu-west-1.amazonaws.com/eu-west-XXXXXX':
     CookieHelper.getCookie("session-id")
  }
});

AWS.config.credentials.getId(...);

我收到此错误:

Error: Invalid login token. Missing a required claim: aud

我该如何解决这个问题?

我是否错过了获取凭据之间的某些步骤?

可能是我错过了 Cognito 配置中的某些东西?

我使用了错误的令牌。

内置网页return 2个token:一个用于session-token,一个用于id-token。

有了另一个token,我就可以拿到证件了。

希望对某些人有所帮助。