gpt4 book ai didi

ios - AWS 认知 : immediately signed-put after sign-in

转载 作者:行者123 更新时间:2023-11-28 16:04:58 25 4
gpt4 key购买 nike

上下文

我使用 booth Cognito 用户池和 Cognito 身份池来登录用户。

我想完成一个简单的任务,让用户在 iOS 应用程序(Swift 应用程序)上登录。

我的应用程序基于自定义版本的 Mobile Hub 帮助,以允许使用 Cognito 用户池。参见 A Swift Sample Sign-In App (using aws-mobile hub-helper) with Cognito User Pools

应用程序有两个步骤:第一个只是启动,第二个是在用户点击登录按钮后登录:然后为了最小化而对用户凭据进行硬编码。

在第一步中,用户必须收到未经授权的 identityId。然后在第二步之后,用户收到一个 auth identityId。

行为

在按登录之前,第 1 步,有 2 个请求到 AWS:

  1. AWSCognitoIdentityService.GetId
  2. AWSCognitoIdentityService.GetCredentialsForIdentity

媒体签名后还有 3 个请求:

  1. AWSCognitoIdentityProviderService.InitiateAuth
  2. AWSCognitoIdentityProviderService.RespondToAuthChallenge
  3. AWSCognitoIdentityService.GetId

在请求 5 — AWSCognitoIdentityService.GetId — 之前,用户已登录,如 AWSIdentityManagerDidSignInNotification 上的观察者所示。

在请求 5 之后,检索到一个 IdentityId。但是根据通知 AWSIdentityManagerDidSignOutNotification,用户注销后立即。

可能会发生什么?

最佳答案

查看您的日志会有所帮助。但是您需要意识到的是,cognito sdk 使用钥匙串(keychain)和 NSUserDefaults 记住东西( session ID、身份 ID 等)。因此,当您第二次运行硬编码测试时,测试的行为可能会有所不同。如果您想从头开始,请转到模拟器菜单并选择重置内容和设置(这将清除钥匙串(keychain) - 存储 session 内容,并将清除存储事件 session 的 NSUserDefaults)。

我刚刚在分支 AddAllMobileHubDemos 上推送了一个新版本的 repo。最新版本的存储库定义了 3 个目标。登录、MySampleApp 和 Dom。 SignIn 是我的旧登录应用程序的一个版本,经过修改可与 mobile-hub-helper 一起使用。 MySampleApp 是一个完整下载的 MobileHub 应用程序,内置 Cognito 用户池。还有 Dom,一个单页硬编码登录应用程序。

同时检查(在同一个存储库中)认知图 cognito-diagram.pdf from the latest push ,其中列出了一些可能的错误。该版本具有我上面描述的功能。

如果您发布可能有助于我更具体的日志。在某些情况下,AWSIdentityManager 会将您注销(例如,如果您尝试合并两个身份......如果您使用硬编码的用户名和密码,然后在不注销的情况下更改它们,则可能会很好。)

布鲁斯

关于ios - AWS 认知 : immediately signed-put after sign-in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40421546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com