我们在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条目的自定义对象来响应客户端。
答案 0 :(得分:0)
更好的流程可能是Custom Authentication Flow。 AWSAuthUIViewController不支持它,但是您可以使用AWSCognitoIdentityUserPool来执行该流程。在结束流程之前,可以利用自定义挑战将信息传递回客户端。