Javascript Cognito不会将未经身份验证的用户切换为经过身份验证的用户

Javascript Cognito不会将未经身份验证的用户切换为经过身份验证的用户,javascript,amazon-web-services,amazon-cognito,Javascript,Amazon Web Services,Amazon Cognito,我使用Cognito用户池和Cognito联合身份将IAM角色传递给经过身份验证和未经身份验证的用户。当我尝试将用户从未经身份验证切换到经过身份验证时,开发人员控制台不会注册已发生的更改;这表明我有100%未经验证的用户 现在,我将我的AWS客户机实例化为未经身份验证的用户,然后调用一个函数在凭据可用时更新凭据,以便将它们切换到已身份验证的用户。例如: AWS.config.region = 'us-west-2'; AWS.config.credentials = new AWS.Cognit

我使用Cognito用户池和Cognito联合身份将IAM角色传递给经过身份验证和未经身份验证的用户。当我尝试将用户从未经身份验证切换到经过身份验证时,开发人员控制台不会注册已发生的更改;这表明我有100%未经验证的用户

现在,我将我的AWS客户机实例化为未经身份验证的用户,然后调用一个函数在凭据可用时更新凭据,以便将它们切换到已身份验证的用户。例如:

AWS.config.region = 'us-west-2';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
  IdentityPoolId: identityPoolId,
  region: 'us-west-2',
  Logins: {}
});

const updateCredentials = () => {
  const auth = store.getState().auth; //this gets the authentication credentials from a global store.
  AWS.config.credentials.Logins = {
    'cognito-idp.us-west-2.amazonaws.com/us-west-2_XXXXXXXXX': auth.idToken
  };
  AWS.config.credentials.expired = true;
};
据我所知,这是正确的方法。请参阅文档、和


但是,我的控制台显示我没有经过身份验证的用户,因此updateCredentials没有将用户切换到经过身份验证的用户。如何解决此问题?

在结束时调用AWS.config.credentials.get…

这并没有提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-这是一个解决方案,问题是没有创建cognito用户。。。和使用。得到。。。创建它并显示在控制台中。如果正确,Logister所做的是填充一些静态地图。出于某种原因,AWS Javascript SDK需要调用获取或刷新以实际检索凭据。否则,用户将显示为未经验证。