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

Tan*_*ick 4 javascript amazon-web-services reactjs amazon-cognito aws-amplify

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

这是我所做的完整流程

  1. 使用 aws-amplify 成功登录
  2. const cognitoUser = 等待 Auth.currentAuthenticatedUser(); console.log("cognitoUser", cognitoUser);
  3. 获取了全部正确的 Cognito 用户属性信息(姓名、子地址、电子邮件、email_verified)
  4. 调用后端API来更新用户信息(添加了一个属性“profile”:1)
  5. 从 Cognito 用户池检查,它已成功添加并且“profile”:1在那里
  6. 我再次做了 const cognitoUser = wait Auth.currentAuthenticatedUser(); console.log("cognitoUser", cognitoUser);
  7. 再次得到旧结果(姓名、子地址、电子邮件、email_verified)。“个人资料”:1 不存在
  8. 使用 aws-amplify 成功注销
  9. 再次登录
  10. 这次从 console.log 获得的键是(name、sub、email、email_verified、profile)

Tan*_*ick 7

经过大量搜索后我找到了答案。有一种叫做旁路缓存的东西。这就是我们如何使用它

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));
Run Code Online (Sandbox Code Playgroud)