APIゲートウェイを保護するためにCognitoユーザープールを使用しています。次に、postmanを使用してAPIにリクエストを送信したいのですが、APIが保護されているため、認証トークンを渡す必要があります。 AWS CLIコマンドまたはREST APIで認証トークンを生成する(ユーザー名/パスワードを渡すことにより))はありますか?ドキュメントを検索しましたが、例が見つかりませんでした。ありがとうございます。
これは、次のCLIコマンドを使用して実行できます。
ユーザーを登録
aws cognito-idp sign-up --region {your-aws-region} --client-id {your-client-id} --username [email protected] --password password123
ユーザー登録の確認
aws cognito-idp admin-confirm-sign-up --region {your-aws-region} --user-pool-id {your-user-pool-id} --username [email protected]
認証(トークンを取得)
aws cognito-idp admin-initiate-auth --region {your-aws-region} --cli-input-json file://auth.json
Auth.jsonは次のとおりです。
{
"UserPoolId": "{your-user-pool-id}",
"ClientId": "{your-client-id}",
"AuthFlow": "ADMIN_NO_SRP_AUTH",
"AuthParameters": {
"USERNAME": "[email protected]",
"PASSWORD": "password123"
}
}
すべてが正しく設定されていれば、次のような応答が得られるはずです。
{
"AuthenticationResult": {
"ExpiresIn": 3600,
"IdToken": "{your-idtoken}",
"RefreshToken": "{your-refresh-token}",
"TokenType": "Bearer",
"AccessToken": "{your-access-token}"
},
"ChallengeParameters": {}
}
次のコマンドを使用して認証トークンを生成し、コグニト構成に基づいてxxxxに適切に入力します。
aws cognito-idp begin-auth --auth-flow USER_PASSWORD_AUTH --client-id xxxx --auth-parameters USERNAME = xx @ xx.com、PASSWORD = xxxx
注:該当するコグニトユーザープールでは、任意の1つのユーザー名またはパスワードを使用できます。クライアントは、一般設定の下にあります->アプリクライアント
AccessKeyIdとSecretAccessKeyは、aws cliのセットアップ時にすでに定義されているため、必要ありません。完了していない場合は、次のリンクを使用して最初に設定してください https://docs.aws.Amazon.com/cli/latest/userguide/cli-chap-configure.html
認証トークンを生成するAWS CLIコマンドがあります。これには InitiateAuth CLIコマンド を使用できます。
注:予想されるトークンと一致するUserPool構成を行ったことを確認してください。