无法使用 aws-amplify 从 cognito 获取更新的属性及其值

Posted

技术标签:

【中文标题】无法使用 aws-amplify 从 cognito 获取更新的属性及其值【英文标题】:Unable to get updated attributes and their values from cognito with aws-amplify 【发布时间】:2021-07-14 22:06:56 【问题描述】:

无法从 Cognito 获取当前属性及其值

这是我所做的完整流程

    使用 aws-amplify 成功登录 const cognitoUser = await Auth.currentAuthenticatedUser(); console.log("cognitoUser", cognitoUser); 获得了所有正确的 Cognito 用户属性信息(姓名、子、电子邮件、email_verified) 调用后端 API 来更新用户信息(添加了一个属性“profile”:1) 从 Cognito 用户池中检查,已成功添加并且“profile”:1 在那里 我又做了一次 const cognitoUser = await Auth.currentAuthenticatedUser(); console.log("cognitoUser", cognitoUser); 再次获得旧结果(姓名、子、电子邮件、email_verified)。 “个人资料”:1 不存在 使用 aws-amplify 成功退出 再次登录 这次从console.log得到的key是(name、sub、email、email_verified、profile)

【问题讨论】:

【参考方案1】:

经过大量搜索,我找到了答案。 有一种叫做绕过缓存的东西。这就是我们可以使用它的方式

import  Auth  from 'aws-amplify';

Auth.currentAuthenticatedUser(
    bypassCache: false  // Optional, By default is false. If set to true, this call will send a request to Cognito to get the latest user data
).then(user => console.log(user))
.catch(err => console.log(err));

【讨论】:

以上是关于无法使用 aws-amplify 从 cognito 获取更新的属性及其值的主要内容,如果未能解决你的问题,请参考以下文章

无法解析模块“@aws-amplify/ui-react/styles.css”的路径

AWS Amplify 错误从 aws-amplify 导入 StorageProvider 类

使用 Auth0 进行 aws-amplify

如何在我的 Vuejs 项目中迁移 aws-amplify 以使用 Typescript?

如何从 R apcluster 和 Sandia Cognitive Foundry AffinityPropagation 获得相同的输出

Sonar:Cognitive Complexity认知复杂度