この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
前提
・Cognitoユーザプール及びユーザーが作成されていること
・Cognitoユーザのパスワードを再設定してCONFIRMEDになっていること
・AWS CLIの検証環境をAWS CloudShellとします。
弊社ブログを参考
AWS CloudFormationでCognitoユーザープールを作成してみました。
AWS CLI でCognitoユーザのパスワードを再設定してCONFIRMEDにしてみました。
トークンを取得するコマンド
$ aws cognito-idp admin-initiate-auth --user-pool-id CognitoユーザープールID --client-id アプリクライアントID --auth-flow ADMIN_NO_SRP_AUTH --auth-parameters USERNAME=ユーザ名,PASSWORD=パスワード
実行例:
[cloudshell-user@ip-10-0-138-20 ~]$ aws cognito-idp admin-initiate-auth --user-pool-id ap-northeast-1_EpyZZXfS9 --client-id 1argt3eme6f06b7npdqvjggrdn --auth-flow ADMIN_NO_SRP_AUTH --auth-parameters USERNAME=TestUser,PASSWORD=Hoge_002
An error occurred (InvalidParameterException) when calling the AdminInitiateAuth operation: Auth flow not enabled for this client
[cloudshell-user@ip-10-0-138-20 ~]$
エラーメッセージ
下記のようなエラーメッセージが表示され、トークンが取得できませんでした。
An error occurred (InvalidParameterException) when calling the AdminInitiateAuth operation: Auth flow not enabled for this client
原因
Amazon Cognitoのダッシュボードでクライアントの設定画面を確認すると、[認証フローの設定]で認証用の管理 API のユーザー名パスワード認証を有効にする (ALLOW_ADMIN_USER_PASSWORD_AUTH)が無効になっていました。
解決方法
下記のようチェックを入れてALLOW_ADMIN_USER_PASSWORD_AUTHを有効にします。
再度admin-initiate-authを実行します。
実行例:
[cloudshell-user@ip-10-0-138-20 ~]$ aws cognito-idp admin-initiate-auth --user-pool-id ap-northeast-1_EpyZZXfS9 --client-id 1argt3eme6f06b7npdqvjggrdn --auth-flow ADMIN_NO_SRP_AUTH --auth-parameters USERNAME=TestUser,PASSWORD=Hoge_002
{
"ChallengeParameters": {},
"AuthenticationResult": {
"AccessToken": "eyJraWQiOiJqUkU0NWpWRzVVR1wveXA5d09mMUJxcWRUOGlHaGpzNkkzb0NjOWdqV3JIbz0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI4YTNkZWIwOS0wM2Y1LTQxM2YtYjRlNC1hZjYxYWM1ODQyOTQiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvYXAtbm9ydGhlYXN0LTFfRXB5WlpYZlM5IiwiY2xpZW50X2lkIjoiMWFyZ3QzZW1lNmYwNmI3bnBkcXZqZ2dyZG4iLCJvcmlnaW5fanRpIjoiMDNjODQxOTctMWVhNi00ZWRiLWFlOTctNDQyZjQzMzZjYjRkIiwiZXZlbnRfaWQiOiI0MWMzYTQzNC04NjQ4LTRkMjAtODE0OS00MzIwZDVmNDY1ODEiLCJ0b2tlbl91c2UiOiJhY2Nlc3MiLCJzY29wZSI6ImF3cy5jb2duaXRvLnNpZ25pbi51c2VyLmFkbWluIiwiYXV0aF90aW1lIjoxNjUyMTkzODI5LCJleHAiOjE2NTIxOTc0MjksImlhdCI6MTY1MjE5MzgyOSwianRpIjoiZDU0OWViYzItMmY5Yy00ZmZkLTljMGMtNmRhODUxMmUzZTI0IiwidXNlcm5hbWUiOiJUZXN0VXNlciJ9.e-Pn9VvCIRkSWNCTDSH32gTunYtwZ-tbIbTqDchRYXJW6QZsyz6I200SGEtYiPp3L8uifKttfadTCRy9bX1q1iMLD-Mc8fVk6mzxgJ35g2LWI6mwMm5SqGNMdIH-CuQxj3WVrCk2kiIAZRRbFbsrCtTfv7yxMJuSIh54wr7zlC3aBAGxY7W7ZjcJ9WDi9mO54GE0-mYe335xcBhkmTQUTn9c1e8KMrKBiC5E3Irm_E5-4qV8HkA7DSe03Xx0XijIgpvATomKmD_L8nAO8TbBOXnClQuV6uxXzPIxb290je-_9QzBnfpKP5EdZlKmWhrOTKoL-IFU7nCH0WAWjZd8TA",
"ExpiresIn": 3600,
"TokenType": "Bearer",
"RefreshToken": "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.CapSe28N7oQbk_V8VlxTtQyaJuEC59UEM73OTFgKkyid2Oj2lI7J6F3g2DbEhZk6kyhsUULICrWE2B8raxL8uXPRlFvKby5KPmhcRQkSGutu_uBIaeYvF4qpn0loG-Avz_AviagR4Z9LGyYZIWDpRhI0a5bGepZxGut7aYB81_tV7liLcV3wIAsHz3vmm1xGE-0RBYzJVdcEb6TWUAIIaWnpaG8F8FZTb32q7aio0GDr-U_MRc9DxecHkkWqkMM4V9iw39hqPy8sd-tWk7D25sk27JX7PDE9IVR2x9QrHmq_nc6UTKDv9FvJjpDbGYJfD0aGQcP7_t36mv1dgLkd5w.GxIiiVyt89nnGV29.nHHpjnq5Hn9rjmJFWp-2qxD_3Vb7pOPCVxvp5bnJ7rYxJT5_uloZUmY3vReIjt277wwJBknfYXaaY6uO7QttHibjaAkPM5H8IdOvHgHAk5q9_T3YOomRparx5-Cfh3iSm2tnkyYRFzVk38VRzk3GApHqqzqglrSQIn4Sm4mx-MeruP8MOPY8ojCRpOxyIr2DMhIcfgCvvJa49RT5GlNBb3FgPZ5X2dziBqtt4QP6bWsZ_3T2FvwdtzyJe0T1tm57ngRgB1j2vG_xXFujYjno0svJUFLOYCUV7zMom0RwBKnCsGgDsRUgwmruwu5Br5giLiNuUfgWefXUfHxLBXlXkWgNbyrh3smXP6WUVIu4ISVykp0BklxT4MlkgHjI3lsS6tCneaYBvI6SpuVuNDBmt9zTmeDHv5kK84_R6z_t3p8HisVsrQxtvkUFC_US_H1w3lyymSjJH6t0adgJxRTvMpKI4Jz-mo5iD4YMc-q9_h_BNh51pjGsilpFlu3qJ1A68T6NzuVW2CALsycrRrkRKBpaYAs-QBpIeThp42Bhhmpdj-yj01NOB8w-hubDkMPkSPSLR6R53EO5G_RIIyur4zVu61pQZmg_yzfzl4P3e5aY-iMOVXo1KG7qyWKxFalcZxJ2PBR-TOk7hrkiJcOwgQRL_q5sXIL4QjsxYBqHabA7lBUENtmkcDpRB0IIwGj8IfH6P5gOUaVc7z9_GQbQLGpEjMLL2h5eyjU9_k0YzgL_2OaAJbk2ZcjarazJKX5jF3XcZqPBYEg4jo8eLE4D_FPm18TmcUUYmUuOeE096dLE0_M0QQVQJ8mI9aTNexeXZ_YkZUhhZyXiFc4A4ukccYeev5uwursVZGscv2aSvC-_ligbx9aD15PpBns6qpfXjnNK57FDGhQPAls3t9jzSsJK_9bkwIrmeFfumyI5yaI-0OrkIv9U6a0d-2vf0ne19FE81RDBugP8YhollREEzrUwi6lKI0picoLfY2VRH7R1ZOFjzNbWp1h-h0sLyns9uULVW19S8B0nB_r59nAyikrTM4H_rv_ek0sYpGCQDGfHD09JIFP7ZvJnlMkfZmutkip9Y-JU5WzG2RPZ31PgX82HaYNg9MmDB1FyfsiZ4LoizmTnY-D-KFedlzN3Lim3cZoNFfObEn_efI3RLS273lC9nlyohHtt_ODwbJF9IA_WhyoxOEOL_rPaUYNAaa6RDDvfFcgA8XvRZqCfPDWlvfnAe_AdI-sr0nA8UVmm_H5OGOxPb_DbqQ4envUDGPaIg1qynH3bWgcIt4aexJM-GArVmw.rq6lIfzSut0BnEGJQnp7_w",
"IdToken": "eyJraWQiOiJ6T1wva2lTYTY3SzZ4UnduZXZcL3B5Q25XYW90QW9rY3hackFFUkphWCtcL0pFPSIsImFsZyI6IlJTMjU2In0.eyJvcmlnaW5fanRpIjoiMDNjODQxOTctMWVhNi00ZWRiLWFlOTctNDQyZjQzMzZjYjRkIiwic3ViIjoiOGEzZGViMDktMDNmNS00MTNmLWI0ZTQtYWY2MWFjNTg0Mjk0IiwiYXVkIjoiMWFyZ3QzZW1lNmYwNmI3bnBkcXZqZ2dyZG4iLCJldmVudF9pZCI6IjQxYzNhNDM0LTg2NDgtNGQyMC04MTQ5LTQzMjBkNWY0NjU4MSIsInRva2VuX3VzZSI6ImlkIiwiYXV0aF90aW1lIjoxNjUyMTkzODI5LCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvYXAtbm9ydGhlYXN0LTFfRXB5WlpYZlM5IiwiY29nbml0bzp1c2VybmFtZSI6IlRlc3RVc2VyIiwiZXhwIjoxNjUyMTk3NDI5LCJpYXQiOjE2NTIxOTM4MjksImp0aSI6IjViNDBmZWY5LTQ5YjAtNDkzOC1iMGMxLWM1YjQ0NjdiY2Q3ZiJ9.g6MtLKnz5lbXBJxmPFr-Rk-d65145uAa1O0gomMIngImlbkXPzS4IDc3qwlzgOq6AYK__DK3E6mkVHyfB2duPqFgKqpfi5o_GzPjKrhwt24Ds0ysVJ6pJRqoIWDwsiX2GPgRuAEJ2kd48ed2ZMJw8bqRyj0PfDfrl3mbQn42jGkHHC_vZj3ASssdSRhj0sweVIWM24oUxEHVYs2M8nI7_TEUEov0goc42j1Fn4UBkLTMPk6UkMEUitwE2IiItn2E5RRbbGe-ucJZmEQgw80ZcO2NR2Ti07QGVa7BKQYJMjSzbLFomliNL8GCWPdujCkT0p-X3L_Pg1GaRcYLLWMpHg"
}
}
[cloudshell-user@ip-10-0-138-20 ~]$
参考
https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/admin-initiate-auth.html#options