出于某种原因,我使用我的应用程序注册并测试过的帐户现在在尝试使用其详细信息登录时给我一个错误:“登录名不匹配。请至少包括一个有效的登录名身份或身份池。”
我知道我为它使用的值绝对正确,其他帐户仍然可以登录。这个错误的原因可能是什么? 任何帮助将不胜感激。
最佳答案
SDK 试图告诉您的是,您的联合身份池中的 IdentityId(可能存储在您设备的钥匙串(keychain)中,并且可能在从现有 session 重新启动时重新建立)不匹配“登录”方法返回的身份验证提供程序中的登录信息。
这种情况可能以多种不同的方式发生,但这通常是因为您尝试以同一身份验证提供程序上的另一个用户身份登录而没有先注销。
SDK 通过重试恢复。
(这种恢复并没有真正起作用,因为我认为它需要 2 或 3 次尝试才能超时,然后恢复会让您处于后续登录失败并出现相同错误的状态。重新启动应用程序会清除此问题。我还没有充分调查了重试/恢复过程中的缺陷)
解决方案是防止应用程序在未先退出该身份验证提供程序的情况下使用同一身份验证提供程序 (IdP) 登录不同的 ID。
关于iOS - AWS Cognito - "NotAuthorizedException"- 登录名不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41234725/