8 votes

Le déclencheur de la migration des utilisateurs Cognito ne se déclenche pas

Dans le pool d'utilisateurs de cognito dans eu-west-1. J'essaie d'ajouter un déclencheur pour la d'un utilisateur. Il ne se déclenche pas lorsque j'essaie de me connecter comme un utilisateur inexistant. J'ai testé cela en écrivant un simple lambda python :

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

Dans les journaux, je ne vois jamais cette exécution si l'utilisateur n'existe pas. J'ai ensuite essayé de configurer tous les déclencheurs pour qu'ils utilisent ce lambda que je vois (lors de la connexion avec un utilisateur existant) :

  • Pré-authentification_Authentification
  • PostAuthentication_Authentication
  • TokenGeneration_Authentication

Lorsque je me connecte avec un utilisateur inexistant, c'est-à-dire un candidat à la migration, je ne vois aucun déclencheur.

S'agit-il d'un problème spécifique à une région ? Faut-il activer quelque chose pour que les déclencheurs se déclenchent ? Devons-nous activer des autorisations spécifiques pour que les déclencheurs soient déclenchés par des utilisateurs non autorisés ou par des échecs de connexion ?

15voto

Jesse Taylor Points 21

Pour invoquer le déclencheur de la migration des utilisateurs, vous devez vous authentifier en utilisant USER_PASSWORD_AUTH.

authenticationFlowType: 'USER_PASSWORD_AUTH'

Un exemple de cela serait cette configuration dans Amplify en bas ci-dessous

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,

}
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X