in force_user_mfa/ForceUserMFA.py [0:0]
def enable_mfa(userName, mfaArn, seed):
"""Summary
Args:
userName (TYPE): Description
mfaArn (TYPE): Description
seed (TYPE): Description
Returns:
TYPE: Description
"""
# Get token 1
token1 = generate_token(seed)
x = 0
fail = False
while (len(str(token1)) != 6):
token1 = generate_token(seed)
time.sleep(5)
x = x + 1
if x > 20:
fail = True
break
if fail:
print("Token1 creation failed. Token1 = " + str(token1))
return "token1 fail"
# Get token 2
time.sleep(5)
token2 = generate_token(seed)
x = 0
fail = False
while (token1 == token2) or (len(str(token2)) != 6):
time.sleep(5)
token2 = generate_token(seed)
x = x + 1
if x > 20:
fail = True
break
if fail:
print("Token2 creation failed. Token1 = " + str(token2))
return "token2 fail"
print("Token enabled")
# Attach to user
try:
response = IAM_CLIENT.enable_mfa_device(
UserName=userName,
SerialNumber=mfaArn,
AuthenticationCode1=str(token1),
AuthenticationCode2=str(token2)
)
except:
response = str(sys.exc_info()[0])
print("Attach to user failed for user: " + userName)
print("Will try 10 times")
print(response)
else:
response = "Success"
print("Token assigned to user: " + userName)
return response