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.
Creating a User Pool
Section titled “Creating a User Pool”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 }],});Custom Attributes
Section titled “Custom Attributes”const pool = yield* Cognito.UserPool("Users", { schema: [ { name: "tenantId", mutable: false }, { name: "plan", attributeDataType: "String" }, ],});App Clients and Auth
Section titled “App Clients and Auth”const pool = yield* Cognito.UserPool("Users", {});const client = yield* Cognito.UserPoolClient("Web", { userPoolId: pool.userPoolId, explicitAuthFlows: ["ALLOW_USER_PASSWORD_AUTH", "ALLOW_REFRESH_TOKEN_AUTH"],});