web-dev-qa-db-ja.com

AWS Cognitoユーザーのアクセストークンを生成するにはどうすればよいですか?

APIゲートウェイを保護するためにCognitoユーザープールを使用しています。次に、postmanを使用してAPIにリクエストを送信したいのですが、APIが保護されているため、認証トークンを渡す必要があります。 AWS CLIコマンドまたはREST APIで認証トークンを生成する(ユーザー名/パスワードを渡すことにより))はありますか?ドキュメントを検索しましたが、例が見つかりませんでした。ありがとうございます。

10
geekprogrammer

これは、次の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": {}
}
11
shenku

次のコマンドを使用して認証トークンを生成し、コグニト構成に基づいて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

1
Jacob Joy

認証トークンを生成するAWS CLIコマンドがあります。これには InitiateAuth CLIコマンド を使用できます。

注:予想されるトークンと一致するUserPool構成を行ったことを確認してください。

1
Ashan