AWS Cognito iOS 尝试转到启动页面而不是登录页面(如果没有用户登录)



我目前正在尝试将Amazon Cognito与我的iOS应用程序集成。我让应用程序委托符合 AWSCognitoIdentityInteractiveAuthenticationDelegate 协议,并且我了解当用户未登录时,将调用 startPasswordAuthentication(( 函数,我必须返回登录视图控制器。但是,如果用户未登录,我希望将用户定向到启动页面而不是登录页面。初始屏幕具有登录或注册的选项。我尝试只在startPasswordAuthentication((方法中显示启动画面并返回loginViewController,但随后Amazon Cognito登录功能不起作用。有什么解决方法吗?

如果你在cognito用户上调用getDetails或getSession,它将触发startPasswordAuthentication代码流,正如你所发现的那样,它不允许你返回任何未实现AWSCognitoIdentityPasswordAuthentication的东西。 在对用户调用 getDetails 之前,您需要处理初始屏幕的呈现。

AWSCognitoIdentityUser 对象具有一个属性,用于测试用户是否已登录。

let pool = AWSCognitoIdentityUserPool(forKey: AWSCognitoUserPoolsSignInProviderKey)
let user = pool?.currentUser()
if let user = user, !user.isSignedIn {
    // present your splash screen
}

例如,您可以在 UserDetailTableViewController 的 refresh(( 方法中的用户池示例中尝试此操作。

相关内容

  • 没有找到相关文章

最新更新