import base64 import pyotp import qrcode from io import BytesIO def generate_qr_code(user): """Gera imagem PIL do QR code OTP para o usuário.""" qr = qrcode.QRCode(version=1, box_size=10, border=5) qr.add_data(user.get_otp_uri()) qr.make(fit=True) return qr.make_image(fill_color="black", back_color="white") def generate_qr_code_base64(user): """Gera QR code OTP codificado em base64 (PNG).""" img = generate_qr_code(user) buffer = BytesIO() img.save(buffer, format="PNG") return base64.b64encode(buffer.getvalue()).decode("utf-8")