Skip to content

UserPool

Source: src/AWS/Cognito/UserPool.ts

An Amazon Cognito user pool — a managed user directory that handles sign-up, sign-in, and token issuance (OIDC-compliant JWTs) for your application.

Basic User Pool

import * as Cognito from "alchemy/AWS/Cognito";
const pool = yield* Cognito.UserPool("Users", {});

Email Sign-In with Password Policy

const pool = yield* Cognito.UserPool("Users", {
usernameAttributes: ["email"],
autoVerifiedAttributes: ["email"],
passwordPolicy: {
minimumLength: 12,
requireSymbols: false,
},
});

Admin-Only User Creation

const pool = yield* Cognito.UserPool("Users", {
adminCreateUserOnly: true,
accountRecovery: [{ name: "admin_only", priority: 1 }],
});
const pool = yield* Cognito.UserPool("Users", {
schema: [
{ name: "tenantId", mutable: false },
{ name: "plan", attributeDataType: "String" },
],
});
const pool = yield* Cognito.UserPool("Users", {});
const client = yield* Cognito.UserPoolClient("Web", {
userPoolId: pool.userPoolId,
explicitAuthFlows: ["ALLOW_USER_PASSWORD_AUTH", "ALLOW_REFRESH_TOKEN_AUTH"],
});