Cognito 実務Tips
Cognito 実務Tips
Section titled “Cognito 実務Tips”AWS CLI
Section titled “AWS CLI”# User Pool作成aws cognito-idp create-user-pool \ --pool-name my-user-pool \ --policies "PasswordPolicy={MinimumLength=8,RequireUppercase=true,RequireLowercase=true,RequireNumbers=true,RequireSymbols=true}" \ --auto-verified-attributes email \ --mfa-configuration OPTIONAL
# App Client作成aws cognito-idp create-user-pool-client \ --user-pool-id us-east-1_xxxxx \ --client-name my-app \ --generate-secret
# ユーザー作成aws cognito-idp admin-create-user \ --user-pool-id us-east-1_xxxxx \ --username user@example.com \ --user-attributes Name=email,Value=user@example.com \ --temporary-password TempPass123!
# Identity Pool作成aws cognito-identity create-identity-pool \ --identity-pool-name my-identity-pool \ --allow-unauthenticated-identities \ --cognito-identity-providers \ ProviderName=cognito-idp.us-east-1.amazonaws.com/us-east-1_xxxxx,ClientId=xxxxxJavaScript SDK例
Section titled “JavaScript SDK例”import { CognitoUserPool, CognitoUser, AuthenticationDetails } from 'amazon-cognito-identity-js';
// User Pool設定const poolData = { UserPoolId: 'us-east-1_xxxxx', ClientId: 'xxxxx'};const userPool = new CognitoUserPool(poolData);
// サインアップuserPool.signUp('user@example.com', 'Password123!', [], null, (err, result) => { if (err) { console.error(err); return; } console.log('User:', result.user);});
// ログインconst authenticationData = { Username: 'user@example.com', Password: 'Password123!'};const authenticationDetails = new AuthenticationDetails(authenticationData);
const userData = { Username: 'user@example.com', Pool: userPool};const cognitoUser = new CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails, { onSuccess: (result) => { const accessToken = result.getAccessToken().getJwtToken(); console.log('Access Token:', accessToken); }, onFailure: (err) => { console.error(err); }});ベストプラクティス
Section titled “ベストプラクティス”セキュリティ: - MFA有効化 - Advanced Security - パスワードポリシー強化 - トークン検証
運用: - Lambda Trigger活用 - CloudWatch Logs監視 - バックアップ(User Export)