我试图在Swift中明确登录iOS上的AWS Cognito。

大多数示例展示了一种在调用user.getDetails时在UI中显示登录的委托方法,但是我想简单地显示UI并使用user.getSession显式登录。

我的用户池和App Client在AWS控制台中设置。

在代码中设置了默认服务配置。

var serviceManager = AWSServiceManager.default()!
var serviceConfiguration = AWSServiceConfiguration(region: .APNortheast1, credentialsProvider: nil)
serviceManager.defaultServiceConfiguration = serviceConfiguration

池配置是使用我的clientid,clientsecret和poolid在代码中设置的。

let poolConfiguration = AWSCognitoIdentityUserPoolConfiguration(clientId: "MY_ID", clientSecret: "MY_SECRET", poolId: "POOL_ID")

AWSCognitoIdentityUserPool.register(with: AWSManager.shared().serviceConfiguration, userPoolConfiguration: poolConfiguration, forKey: "UserPool")
userPool = AWSCognitoIdentityUserPool(forKey: "UserPool")

但是,尝试调用get session时,任务结果始终为nil。

let cognitoUser = AuthenticationManager.shared().userPool.currentUser()
let getSessionTask = cognitoUser?.getSession(email, password: password, validationData: nil)

getSessionTask?.continueWith(block: { (task) -> Any? in
  print("result: \(String(describing: task.result))")
  if let result = task.result {
    print("user signed in? \(cognitoUser?.isSignedIn)")
  }
  return nil
}, cancellationToken: nil)

显式登录并检查登录是否有效或是否存在诸如凭据错误之类的错误的正确方法是什么?

  ask by Alex Rablau translate from so

本文未有回复,本站智能推荐:

1回复

将用户池添加到AWS中的登录映射

我在文档中看到了这一点: 使用Amazon Cognito用户池 按照身份验证流程中的说明对用户进行身份验证。 对用户进行身份验证之后,将该用户的身份令牌添加到凭据提供程序中的登录名映射中。 提供程序名称将取决于您的Amazon Cognito用户池ID。 它将具有以下结构:
1回复

将LWA令牌传递给Cognito

我正在开发一个使用 Alexa 语音服务并维护不同用户的应用程序,因此用户需要使用 Amazon (LWA) 登录。 我已经实现了它,就像它写在文档中一样,它完美地工作。 LWA 文档: https : //developer.amazon.com/de/docs/login-with-amazo
2回复

使用AWSSDK2和Cognito将文件放在S3上,供使用iOSSDK2的未授权用户使用

我想将文件上传到我的 S3 存储桶之一。 在我的应用程序中,我有: 在我的应用程序委托中 上传功能 附加到我的身份池中未经身份验证的角色的策略: 与 Cognito 的连接是正确的(我现在在 AWS 控制台中有一个未经身份验证的用户。 但是,当我尝试上传文件时,我的权限仍然被拒绝。 我错过了什么?
1回复

对具有相同IAM,Cognito和权限配置的新存储区拒绝访问

在过去的一个月里,我已成功使用Cognito和iOS SDK从我的应用程序中的s3存储桶上传和下载文件。 我最近创建了一个新的存储桶来存储文件,我突然无法下载任何东西(虽然上传继续工作)。 我收到此错误: 我使用与旧桶完全相同的配置,新桶的名称在需要的地方更改。 这是我一直使用的Un
1回复

如何将登录映射添加到CredentialsProvider?

我已将用户池设置与联合身份流集成,并使用相关文档中的9个步骤。 我正在关注文档并使用增强的身份验证流程。 然而,还有一个额外的步骤,我无法理解这可能导致我遇到IOS SDK的问题。 该指南提到: 用户通过身份验证后,将该用户的身份令牌添加到凭据提供程序中的登录映射。 提供程序名称
3回复

AWSiOSSDKCognito开发人员身份验证(Swift)

我很难弄清楚如何将我的服务器(通过AWS)提供的开发人员凭证返回给我的示例身份提供商。 看来我需要在ExampleIdentityProvider类的refresh方法中同步执行此操作。 我正在使用AFNetworking发出请求,但这是一个异步GET请求。 如何在IdentityPro
1回复

在iOSApp中使用AWSCognito和Facebook登录身份标识为Nil

我有一个可以通过AWS Cognito使用Facebook提供程序成功登录的应用程序。 在登录后直接使用该应用程序时,可以检索到身份,一切似乎都运行良好。 但是,经过一段时间(大约> 1小时),回到应用程序后,似乎没有填写身份ID。 奇怪的是,用户名仍在填写-只是没有填写ID。
2回复

AWSCognito用户池-“'userName'处的值为null未能满足约束:成员不得为null”-iOS

我一直在使用 AWS Mobile Hub 上的 UserPools。 我已经设法通过 Facebook 和 G+ 等提供商登录。 但是,在尝试使用 AWS UserPools 登录时,我无法这样做。 我可以成功注册并完美连接到用户池(它识别错误密码 7 个不存在的用户)。 当我使用下面显示的方法登