Cognito Attribute Mapping - knpy/yuka-app GitHub Wiki
Cognito ユーザープールでGoogle OAuthを使用する際の属性マッピングの設定方法について説明します。
- Cognito ユーザープールが作成済み
- Google OAuth アイデンティティプロバイダーが設定済み
- AWS Cognito コンソールにアクセス
- 対象のユーザープールを選択
- 「Sign-in experience」タブを選択
- 「Federated identity provider sign-in」セクションの「Google」を選択
以下のようにGoogleの属性をCognito属性にマッピング:
Cognito属性 | Google属性 | 説明 |
---|---|---|
メールアドレス | ||
name | name | フルネーム |
given_name | given_name | 名前 |
family_name | family_name | 姓 |
picture | picture | プロフィール画像URL |
-
email
: 必須に設定 -
name
: 推奨
設定後、以下を確認:
- 属性マッピングが正しく設定されているか
- 必須属性が適切にマッピングされているか
- テストユーザーでログインが正常に動作するか
-
属性が取得できない
- Googleのスコープ設定を確認
- OAuth consentで適切な権限が付与されているか確認
-
メールアドレスが重複する
- 既存のユーザーとの重複確認
- Alias設定の見直し
resource "aws_cognito_identity_provider" "google" {
user_pool_id = aws_cognito_user_pool.main.id
provider_name = "Google"
provider_type = "Google"
provider_details = {
client_id = var.google_client_id
client_secret = var.google_client_secret
authorize_scopes = "openid email profile"
}
attribute_mapping = {
email = "email"
name = "name"
given_name = "given_name"
family_name = "family_name"
picture = "picture"
username = "sub"
}
}