从Cognito向客户端发布身份验证自定义响应

时间:2018-12-11 11:16:19

标签: ios swift amazon-web-services aws-lambda amazon-cognito

我们在Cognito中设置了用于预身份验证/后身份验证和后确认的lambda触发器。
在所有触发器中,我们都将对照DynamoDB进行检查,以便继续进行操作,并且数据库条目会按预期正确到达。
但是,我们还希望在登录时将数据库中的一些详细信息发送回客户端。
在这种情况下,它是一个包含我们DynamoDB用户的uuid的用户对象。

我们的iOS开发人员正在使用AWSAuthUIViewController,并希望在此处访问我们的自定义响应:

AWSAuthUIViewController
.presentViewController(with: self.navigationController!,
              configuration: config,
          completionHandler: { (provider: AWSSignInProvider, error: Error?) in
                                 //...

                                 let user = AWSCognitoUserPoolsSignInProvider
                                           .sharedInstance()
                                           .getUserPool()
                                           .currentUser()

                                           /*
                                              do something to access custom 
                                              response of user object
                                            */
})

我们已经查看了Custom Message Lambda Trigger documentation,但这与MFA有关,因此它不是我们想要的。

主要问题是如何让Cognito使用包含来自DynamoDB条目的自定义对象来响应客户端。

1 个答案:

答案 0 :(得分:0)

更好的流程可能是Custom Authentication Flow。 AWSAuthUIViewController不支持它,但是您可以使用AWSCognitoIdentityUserPool来执行该流程。在结束流程之前,可以利用自定义挑战将信息传递回客户端。