【问题标题】:can not retrieve Username with Amplify Auth.currentAuthenticatedUser无法使用 Amplify Auth.currentAuthenticatedUser 检索用户名
【发布时间】:2020-02-23 09:35:59
【问题描述】:

请原谅我的新手问题,但我是 AWS amplify 的新手......我使用 react 启动了一个网络应用程序,我可以使用 Cognito Facebook 和 Google 登录,也可以使用正常的注册/登录表单。

现在我想做下一步并显示一条欢迎消息,其中包含登录用户的用户名...应该非常简单:)

我用过这个功能

function checkUser() {  let user = Auth.currentAuthenticatedUser();  alert(user.username)  }

它没有显示用户名!相反,它显示以下弹出消息

任何人都可以请建议如何让它工作.. 非常感谢提前:)

到目前为止,我的代码看起来像这样

import {Auth} from 'aws-amplify';
function checkUser() {
let user = Auth.currentAuthenticatedUser();
alert(user)  }

function signOut() {
Auth.signOut()
  .then(data => console.log(data))
  .catch(err => console.log(err))
}

function App() {
  return (
    <div className="App">
    <header className="App-header">
    <img src={logo} className="App-logo" alt="logo" />
        <p>
         This site is under Construction
        </p>
        <p>
        <button onClick={() => Auth.federatedSignIn()}>Sign In</button>
        <button onClick={checkUser}>Check User</button>
        <button onClick={signOut}>Sign Out</button>
        </p>
      </header>
    </div>
  );
}
export default App;

【问题讨论】:

    标签: reactjs aws-amplify


    【解决方案1】:

    这是一个异步调用:

    async function checkUser() {
        let user = await Auth.currentAuthenticatedUser();  
        alert(user.username)
    }
    

    Auth.currentAuthenticatedUser()
        .then(user => alert(user.username))
        .catch(err => console.log(err));
    

    【讨论】:

    • 非常感谢霍拉修!!同步功能对我有用..我会投票 4 U :)
    猜你喜欢
    • 2016-04-11
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 2018-01-16
    相关资源
    最近更新 更多