0

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

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

Cognito 网页返回给我一个令牌(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 配置中的某些东西吗?

4

1 回答 1

0

我使用了错误的令牌。

内置网页返回 2 个令牌:一个用于会话令牌,一个用于 id-token。

使用另一个令牌,我可以获得凭证。

希望这会有所帮助。

于 2018-09-11T18:34:43.407 回答