NeX*_*786 8 amazon-web-services ionic-framework aws-sdk aws-amplify
我一直在使用aws-amplify离子库,并想知道如何检查用户是否登录?我来自firebase背景所以这是完全不同的.这样我就可以根据用户的登录状态授予对某些页面的访问权限.在我的auth提供者中我导入Amplify {Auth}.我可以看到可以获得几个数据,但我不知道该使用什么.有currentUserPoolUser,getCurrentUser(),getSyncedUser(),currentAuthenticatedUser,currentSession,getCurrentUser(),userSession,currentUserCredentials,currentCredentials和currentUserInfo.我似乎无法找到任何这方面的任何文件.我阅读和观看的所有内容都会被覆盖,直到用户登录...这一切都应该在客户端完成吗?谢谢.
Ale*_*t83 14
我在每个页面中使用 ionViewCanEnter() 函数来允许/拒绝访问。这个函数的返回值决定了页面是否可以加载(并且在运行 costructor 之前执行)。在这个函数中,你必须实现你的逻辑。
就我而言,使用 Amplify,我这样做:
async function ionViewCanEnter() {
try {
await Auth.currentAuthenticatedUser();
return true;
} catch {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
由于 amplify currentAuthenticatedUser() 返回一个 promise,我使用 async await 等待响应以了解用户是否已登录。
小智 8
嘿嘿,我觉得现在只能Auth.currentUserInfo();用来检测是否登录了。undefined如果您未登录或已登录,它将返回object。