0

我正在使用 aws cognito 进行身份验证,我发现难以检查用户是否已登录或注销。如果用户已登录或已注销,如何签入 aws cognito?有没有像userPool.currentUser.isLoggedIn()android一样的方法来检查用户是否登录?

4

2 回答 2

1

AWSMobileClient 的文档(可在 此处找到,它是适用于 Android 的 AWS Amplify SDK 的一部分)包括使用 isSignedIn 方法对登录用户的状态跟踪。

于 2019-08-29T05:39:27.023 回答
0

如果您的用户确实登录过一次,aws mobile sdk 将记住用户名并保存令牌,以便下次登录调用将立即返回“成功”。

您可以添加对 userPool.getCurrentUser().getSession(authenticationHandler); 的调用 当您的应用程序启动时,如果凭据有效且令牌未过期,您的 onSuccess 方法将立即被调用,而无需拨打任何互联网电话。

然后您的应用程序可以将用户状态设置为“已登录”并且它应该记住该状态。

如果 getSession 没有调用成功,在 onFailure 甚至 getAuthenticationDetails 等任何其他方法上,如果您当时需要用户登录,则可以立即显示登录对话框。或者您可以决定不显示该对话框,而只是将您的内部用户状态设置为“未登录”。

于 2019-11-17T07:33:27.767 回答