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

标签 javascript amazon-web-services amazon-cognito

我正在使用 Cognito 用户池和 Cognito 联合身份将 IAM Angular 色传递给经过身份验证和未经身份验证的用户。当我尝试将用户从未经身份验证切换为经过身份验证时,开发人员控制台不会注册发生了更改;它显示我有 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;
};

据我所知,这是正确的方法。请参阅文档 at the bottom of this page ,和here ,和here .

但是,我的控制台显示我没有经过身份验证的用户,因此 updateCredentials 不会将用户切换为经过身份验证的用户。可以采取什么措施来解决这个问题?

最佳答案

最后调用AWS.config.credentials.get(()....)

关于javascript - Cognito 不会将未经身份验证的用户切换为经过身份验证的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45422118/

相关文章:

javascript - 正则表达式:如何匹配所有大于 49 的数字?

amazon-web-services - 如何在 Amazon Linux 实例上安装 Railo?

amazon-web-services - 如何在一个 EC2 实例上运行多个应用程序?

amazon-web-services - 适用于私有(private)团队的 AWS Sagemaker Ground Truth WorkerID

javascript - 我怎样才能最好地实现这个 React Transition?

javascript - React.PureComponent 渲染列表组件中的所有项目

javascript - 如何创建一个包含不重复且非随机数的数组?

postgresql - AWS RDS Postgresql 事务日志在没有数据更改时继续运行?

amazon-web-services - 复制现有 Cognito 用户池的最佳方法是什么

amazon-web-services - 基于 Cognito token 的 AWS 节流