Триггер миграции Cognito User не срабатывает - PullRequest
0 голосов
/ 05 октября 2018

В пуле cognito user в eu-west-1.Я пытаюсь добавить триггер для миграции пользователя.Он не срабатывает, когда я пытаюсь войти как несуществующий пользователь.Я проверил это, написав простую лямбду Python:

def handler(event, context):
    print(event)
    return event

В журналах я никогда не вижу этот прогон, если пользователь не существует.Затем я попытался установить все триггеры для использования этой лямбды, которую я вижу (при входе в систему с существующим пользователем):

  • PreAuthentication_Authentication
  • PostAuthentication_Authentication
  • TokenGeneration_Authentication

При входе в систему с несуществующим пользователем, т.е.Кандидат на миграцию - я не вижу срабатывания триггеров.

Это проблема, специфичная для региона?Есть ли что-то, что нам нужно включить для срабатывания триггеров?Нужно ли включать специальные разрешения для триггеров, которые должны запускаться не авторизованными пользователями или неудачными входами в систему?

1 Ответ

0 голосов
/ 30 января 2019

Чтобы вызвать пользовательский триггер миграции, вы должны авторизоваться с помощью USER_PASSWORD_AUTH

authenticationFlowType: 'USER_PASSWORD_AUTH'

Примером этого может служить конфигурация в Amplify внизу внизу

import Amplify from 'aws-amplify';

Amplify.configure({
    Auth: {

    // REQUIRED only for Federated Authentication - Amazon Cognito Identity Pool ID
    identityPoolId: 'XX-XXXX-X:XXXXXXXX-XXXX-1234-abcd-1234567890ab',

    // REQUIRED - Amazon Cognito Region
    region: 'XX-XXXX-X',

    // OPTIONAL - Amazon Cognito Federated Identity Pool Region 
    // Required only if it's different from Amazon Cognito Region
    identityPoolRegion: 'XX-XXXX-X',
    // OPTIONAL - Configuration for cookie storage
    // Note: if the secure flag is set to true, then the cookie transmission requires a secure protocol
    cookieStorage: {
    // REQUIRED - Cookie domain (only required if cookieStorage is provided)
        domain: '.yourdomain.com',
    // OPTIONAL - Cookie path
        path: '/',
    // OPTIONAL - Cookie expiration in days
        expires: 365,
    // OPTIONAL - Cookie secure flag
    // Either true or false, indicating if the cookie transmission requires a secure protocol (https).
        secure: true
    },

    // OPTIONAL - customized storage object
    storage: new MyStorage(),

    // OPTIONAL - Manually set the authentication flow type. Default is 'USER_SRP_AUTH'
    authenticationFlowType: 'USER_PASSWORD_AUTH'

    // OPTIONAL - Amazon Cognito User Pool ID
    userPoolId: 'XX-XXXX-X_abcd1234',

    // OPTIONAL - Amazon Cognito Web Client ID (26-char alphanumeric string)
    userPoolWebClientId: 'a1b2c3d4e5f6g7h8i9j0k1l2m3',

    // OPTIONAL - Enforce user authentication prior to accessing AWS resources or not
    mandatorySignIn: false,

}
});
...