preTokenGeneration is not documented on the ion docs.
EduSantosBrito opened this issue · comments
When you try to follow the documentation of ion, on the triggers section, there's no description of preTokenGeneration
trigger. There's only a preTokenGenerationConfig
token.
But when you create something like:
const preTokenGenerationConfig = new sst.aws.Function(
'PreTokenGenerationConfig',
{
handler:
'./services/trigger/src/functions/cognito/index.cognitoPreTokenGeneration',
description: 'Cognito Pre Token Generation',
runtime: 'nodejs20.x',
},
)
export const userPool = new sst.aws.CognitoUserPool('Cognito', {
usernames: ['email', 'phone_number'],
triggers: {
preSignUp: preSignUp.arn,
createAuthChallenge: createAuthChallenge.arn,
defineAuthChallenge: defineAuthChallenge.arn,
verifyAuthChallengeResponse: verifyAuthChallengeResponse.arn,
preTokenGenerationConfig: preTokenGenerationConfig.arn,
},
})
You will face this error:
aws:cognito/userPool:UserPool resource 'CognitoUserPool' has a problem: Expected Object Type. Expected object, got string. Examine values at 'CognitoUserPool.lambdaConfig.preTokenGenerationConfig'.
The correct trigger should be preTokenGeneration
, like this:
export const userPool = new sst.aws.CognitoUserPool('Cognito', {
usernames: ['email', 'phone_number'],
triggers: {
preSignUp: preSignUp.arn,
createAuthChallenge: createAuthChallenge.arn,
defineAuthChallenge: defineAuthChallenge.arn,
verifyAuthChallengeResponse: verifyAuthChallengeResponse.arn,
preTokenGeneration: preTokenGeneration.arn,
},
})