如何在 amazon cognito 的多因素身份验证上设置 "mfa_setup" 质询?

How to setup the "mfa_setup" challenge on amazon cognito's multi factor authentication?

我坚持使用 google 身份验证器为 amazon cognito 设置 mfa。我错过了任何步骤吗?

我已尝试遵循此指南“https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-mfa-totp.html”。

我将会话传递给 "associate_software_token" 并获得了密钥,将其转换为二维码。

将其转换为二维码后,我从 Playstore 下载了 google 验证器并尝试继续。遗憾的是,这就是我卡住的地方,google 验证器无法识别二维码。

def get(self):
    # This is where the secret key which will be later used as password.
    data = request.args
    client = boto3.client('cognito-idp')
    secret_response = client.associate_software_token(Session=data["session"])
    # Create QR
    try:
        img = qrcode.make(secret_response.get('SecretCode'))
    except ClientError as e:
        return self.handle_boto_error(e)

    temp_assets = os.path.join(ASSETS_DIRS, 'temp/')

    filename = secure_filename(secret_response.get('SecretCode') + '.png')
    to_save_on = os.path.join(temp_assets, filename)
    print(secret_response.get('SecretCode'))
    img.save(to_save_on)

    return send_file(to_save_on, mimetype='image/png'), status.HTTP_200_OK

我希望它能给我 TOTP,它将完成 Congito Pool 的整个身份验证过程。

通过将 qr 转换为正确的格式解决了这个问题,即:

"link = f"otpauth://totp/{SITE_NAME}:{username}?secret={secret_code}&issuer={SITE_NAME}"

而不是直接将密码解析为二维码。