sst / ion

❍ — a new engine for SST

Home Page:https://ion.sst.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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,
  },
})