У нас есть лямбда-триггеры, настроенные в Cognito для предварительной аутентификации / пост-аутентификации и пост-подтверждения.
Во всех триггерах мы проверяем нашу DynamoDB для продолжения, и записи в БД поступают правильно, как и ожидалось.
Однако мы также хотим отправить некоторые детали из нашей базы данных обратно клиенту во время входа в систему.
В данном случае это пользовательский объект, содержащий uuid нашего пользователя DynamoDB.
НашРазработчик 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
*/
})
Мы рассмотрели Документация по лямбда-триггерам пользовательских сообщений , но это относится к MFA, так что этоне то, что мы ищем.
Основной вопрос - как заставить Cognito ответить клиенту с помощью пользовательского объекта, содержащего записи из нашей DynamoDB.