无法使用 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 类
如何在我的 Vuejs 项目中迁移 aws-amplify 以使用 Typescript?
如何从 R apcluster 和 Sandia Cognitive Foundry AffinityPropagation 获得相同的输出