我正在使用AWS Amplify和Cognito进行用户身份验证。
用户进入用户池,仅使用电子邮件地址和密码进行注册和登录。
通过Cognito登录的用户导航到某个页面时,我想获取其电子邮件地址。我该怎么办?
我可以使用此代码检索一些用户数据(我使用的是javascript / Angular):
import Auth from '@aws-amplify/auth';
...
ngOnInit(){
Auth.currentAuthenticatedUser().then((user)=>{
console.log('user = ' + JSON.stringify(user.pool))
})
}
电子邮件确实出现在响应中,但是我仍无法将电子邮件与返回的JSON隔离。
我已经尝试过文档,但是我还没有找到有关可以添加到currentAuthenticatedUser()的属性选项之类的信息,或者是否还有其他更干净的方法(我认为有)
编辑:它看起来像以下作品:
Auth.currentAuthenticatedUser().then((user)=>{
console.log('user email = ' + user.attributes.email)
})
但是我仍然希望更好地理解文档。我在一个随机的github问题中找到了这个解决方案,而不是官方文档。在AWS Amplify / Cognito文档中在哪里可以找到该解决方案?