Cognito用户迁移触发器未触发

时间:2018-10-05 11:26:43

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

在eu-west-1中的Cognito用户池中。我正在尝试为用户添加触发器 移民。当我尝试以不存在的用户身份登录时,它不会触发。 我已经通过编写一个简单的python lambda对此进行了测试:

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

在日志中,如果用户不存在,则永远不会看到此运行。然后我尝试了 设置所有触发器以使用我看到的lambda(使用现有用户登录时):

  • PreAuthentication_Authentication
  • PostAuthentication_Authentication
  • TokenGeneration_Authentication

使用不存在的用户登录时,即迁移候选者-我没有触发任何触发器。

这是地区特定的问题吗? 我们需要启用触发器来触发某些事情吗? 我们是否需要为非身份验证用户或登录失败触发的触发器启用特定权限?

1 个答案:

答案 0 :(得分:1)

要调用用户迁移触发器,您必须使用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,

}
});