Skip to content

IdentityPool

Source: src/AWS/Cognito/IdentityPool.ts

An Amazon Cognito identity pool (federated identities) — exchanges tokens from user pools, social providers, OIDC/SAML IdPs, or developer backends for temporary AWS credentials.

Identity Pool Federating a User Pool

import * as Cognito from "alchemy/AWS/Cognito";
import * as Output from "alchemy/Output";
const pool = yield* Cognito.UserPool("Users", {});
const client = yield* Cognito.UserPoolClient("Web", {
userPoolId: pool.userPoolId,
});
const identities = yield* Cognito.IdentityPool("Identities", {
cognitoIdentityProviders: [
{
providerName: Output.interpolate`cognito-idp.us-west-2.amazonaws.com/${pool.userPoolId}`,
clientId: client.clientId,
},
],
});

Guest (Unauthenticated) Access

const identities = yield* Cognito.IdentityPool("Identities", {
allowUnauthenticatedIdentities: true,
});
yield* Cognito.IdentityPoolRoleAttachment("Roles", {
identityPoolId: identities.identityPoolId,
roles: { authenticated: role.roleArn },
});