#! /usr/bin/env python import sys import random import json import boto3 client = boto3.client('cognito-idp') ''' aws cognito-idp admin-create-user \ --user-pool-id "eu-west-1_Q9RIAHBuV" \ --username rob \ --user-attributes Name=custom:team,Value=whitelist \ --temporary-password Foo12345678 aws cognito-idp admin-initiate-auth \ --user-pool-id "eu-west-1_Q9RIAHBuV" \ --client-id 3fqbkgoe766qdmm5nbes3fmo9h \ --auth-flow ADMIN_NO_SRP_AUTH \ --auth-parameters USERNAME=joel,PASSWORD=Joel1234 aws cognito-idp admin-respond-to-auth-challenge \ --user-pool-id "eu-west-1_Q9RIAHBuV" \ --client-id 3fqbkgoe766qdmm5nbes3fmo9h \ --challenge-name NEW_PASSWORD_REQUIRED \ --challenge-responses NEW_PASSWORD=Joel123,USERNAME=joel \ --session "xZkW4UkNRGAxLPCYZjhSi_bSr8jw-AijCq9XmSa_FUxw8aBoeZ2NzcUCCl2qjAHPYlXI34vQdKUTcl88Jk5oNzp5A8airOCZRqZ_jwkt7ZRkdQtfVIS075WM6ByEvXYhBGxTTMDKGNgQsH47ohDagpdx3YD_MMx90ZucMyCkhWp4z-OW3EIbRPQMxRbkbLGSgvxSZ30ifkgnA-xH2XJCWB07zYmTbLTTJeYgt2t0gTx7YWspLWbbnZ4DrZ5cS8dpJm3NZtG0fkekd5Simr6PpLedS_gWAp1z35I8yit_J8Hzau6x1efJbe9EWyL80ufrhgv4Tp49TVG0XO5PQdUDEmlU_AkIXNHnygrtCc_ObSu0AbO500xku0NJLs90k28-Cv_VPNim9sWgBPy9GkSHk7dpMgVyr4Y7nHPcAtR17GGlt51WnE_xa3-n5Lvm0p7kQMYourLjlk_itt5O0UHpdP1VE88eQDt_kTqyQ8rWR5e885I8jWorUxUP82LZSbuoRvvZCYqY8SwszShgCTqPE5nlr-keNW5jLo6-OzjmSKSDfsRadzjXca1bQ0FmkqJgqiKv4J-XP5jSUyLTdqZURumc0Nso0CvtWb4TcWlpykC9Ui3lEN5MLCkvsVGkJ81qG5oGG_I6GFkRZupCWTcwf8FfL8rjQRDby7pCqJXZPzhbS3fPPUMVbRMIjkOL0K5tS918t5rIwCj0Z0nlyaxUmfrbo7XY41o_CFyFnqsX1etuSj1o-0IdZigFwj5zhA9AuzbZ1EMNNeagSwsSLLy3eQGoZjazZowKwv4jzKMncQDtH0Yl7Ok0GC43FuSsg8MB" ''' user_pool_id = "eu-west-1_Q9RIAHBuV" def randpass(): return "".join([random.choice("89abcdefg12345jklmnzsx") for _ in range(8)]) if __name__ == '__main__': username = sys.argv[1] password = sys.argv[2] print("Changing password for user {}".format(username)) temppass = randpass() response = client.admin_set_user_password( UserPoolId=user_pool_id, Username=username, Password=temppass, ) import pdb; pdb.set_trace() response2 = client.admin_initiate_auth( UserPoolId=user_pool_id, ClientId='3fqbkgoe766qdmm5nbes3fmo9h', AuthFlow='ADMIN_NO_SRP_AUTH', AuthParameters={ 'USERNAME': username, 'PASSWORD': temppass }, ) print(response2) session = response2['Session'] response3 = client.admin_respond_to_auth_challenge( UserPoolId=user_pool_id, ClientId='3fqbkgoe766qdmm5nbes3fmo9h', ChallengeName='NEW_PASSWORD_REQUIRED', ChallengeResponses={ 'NEW_PASSWORD': password, 'USERNAME': username, }, Session=session, ) print (response3)