23 lines
701 B
Ruby

class MfasController < ApplicationController
def new
issuer = "Hidden Agenda Email"
label = "#{issuer}:#{current_user.email}"
if current_user.otp_secret.to_s.length == 0
current_user.otp_secret = User.generate_otp_secret
current_user.save!
end
qrcode = RQRCode::QRCode.new([{ data: current_user.otp_provisioning_uri(label, issuer: issuer), mode: :byte_8bit }])
@svg = qrcode.as_svg(color: "000", shape_rendering: "crispEdges", module_size: 5, standalone: true,
use_path: true
)
end
def create
current_user.otp_required_for_login = true
current_user.save!
redirect_to root_url
end
end