pre_token_generation_configについて
AWS Cognitoのlambda_configのpre_token_generation_configはトークンが発行される直前に実行されるLambdaトリガーの詳細設定
このトリガーは例えばログイン・更新・トークンリフレッシュなどのタイミングでトークンのclaimを追加・削除・上書きできる。
具体的にできること.
- カスタム属性をトークンに追加
- ロールや権限情報を付与.
- アプリごとに返すclaimを変える.
- マルチテナントのテナントIDを追加.
pre_token_generation_config の構造の例
- User PoolのJSONで見ると以下のような感じ.
"lambda_config": { "pre_token_generation_config": { "lambda_version": "V2_0", "pre_token_generation_lambda_arn": "arn:aws:lambda:ap-northeast-1:123456789012:function:preTokenGen" } }
Lambdaに渡されるJSONの例
{ "version": "2", "triggerSource": "TokenGeneration_Authentication", "request": { "userAttributes": { "sub": "uuid", "email": "user@example.com", "custom:role": "admin" }, "groupConfiguration": { "groupsToOverride": [], "iamRolesToOverride": [] } }, "response": { "claimsOverrideDetails": { "claimsToAddOrOverride": { "role": "admin" } } } }
pre_token_generation_configについてまとめ
- 役割: トークン発行前にclaimを書き換える
- 設定場所: User Pool→lambda_config.pre_token_generation_config
- 主な用途: クレームの動的カスタマイズなど