1

我正在使用 aws-cognito UserPool(通过 AWSMobileClient)对用户进行身份验证以访问 AWS 服务。目前用户可以选择通过 Phone、Google 和 Facebook 使用 Hosted UI 选项登录,这需要通过以下方式初始化 AWSMobileClient。AWSMobileClient.default().initialize(<#T##completionHandler: (UserState?, Error?) -> Void##(UserState?, Error?) -> Void#>) 返回当前用户状态。

用例:我通过 UserPool 登录我的应用程序,然后卸载应用程序。重新安装应用程序时,我获取当前用户状态,它返回为“已登录”。

我怎样才能停止这种行为?

4

1 回答 1

1

“问题”是AWS SDK将登录信息存储在钥匙串中,并且在卸载应用程序时不会删除此信息。

解决方案是在用户首次访问应用程序时执行注销。在 UserDefaults 中使用 Bool 来了解它是否是第一次访问。

于 2020-04-09T17:56:34.747 回答