Ilia Reingold
03/26/2021, 5:07 PMFrank
// Create the Lambda function
const authChallengeFn = new sst.Function(this, 'AuthChallengeFn', {
handler: 'src/authChallenge.main',
});
// Create the User Pool
const userPool = new cognito.UserPool(this, 'MyUserPool', {
lambdaTriggers: {
createAuthChallenge: authChallengeFn,
}
});
Frank
Frank
lambda.Function
, create an sst.Function
instead.Ilia Reingold
03/26/2021, 5:21 PMFrank
sst.Auth
to protect ur api?Ilia Reingold
03/26/2021, 5:22 PM// Create auth provider
const auth = new sst.Auth(this, 'Auth', {
cognito: {
signInAliases: { email: true },
},
});
auth.attachPermissionsForAuthUsers([api]);
Frank
sst.Auth
, so something like this:
auth.cognitoUserPool.addTrigger(cognito.UserPoolOperation.CREATE_AUTH_CHALLENGE, authChallengeFn);
Ilia Reingold
03/26/2021, 5:27 PMFrank
Ilia Reingold
03/26/2021, 7:05 PMcognito
? (cognito.UserPoolOperation)Frank
import * as cognito from "@aws-cdk/aws-cognito";
Frank
npx sst add-cdk @aws-cdk/aws-cognito
to add it to ur package.jsonIlia Reingold
03/26/2021, 7:12 PMFrank
sst.Auth
construct now supports UserPool triggers out of the box in v0.18.0:
new Auth(this, "Auth", {
cognito: {
triggers: {
preAuthentication: "src/preAuthentication.main",
postAuthentication: "src/postAuthentication.main",
},
},
});
More examples here - https://docs.serverless-stack.com/constructs/Auth#configuring-userpool-triggers