В настоящее время я использую пакет для Google 2fa и извлекаю QR-код SVG в виде строковой переменной из моего контроллера, а затем требуется в соответствии с пакетом добавить QR-код как. Проблема в том, что это не отображает изображение, и я думаю, что это связано со строковым значением, которое я извлекаю из моего контроллера.
Это значение переменной, которую я получаю от моего контроллера:
Повторяя это в моем блейд-файле, он просто повторяет строковое значение. Если бы я скопировал это строковое значение без "", Laravel распознал бы значение как html и отобразил мой QR-код. Есть ли способ отразить это, чтобы blade-сервер распознал его как html код? Или как я могу go показать этот SVG-файл в моем блейд-файле, когда извлекаю его как переменную таким образом? Пожалуйста, если кто-нибудь поможет мне, будет очень признателен!
Ссылка на пакет Laravel -> https://github.com/antonioribeiro/google2fa-laravel
Мой контроллер:
public function register(Request $request)
{
//Validate the incoming request using the already included validator method
$this->validator($request->all())->validate();
// Initialise the 2FA class
$google2fa = app('pragmarx.google2fa');
// Save the registration data in an array
$registration_data = $request->all();
// Add the secret key to the registration data
$registration_data["google2fa_secret"] = $google2fa->generateSecretKey();
// Save the registration data to the user session for just the next request
$request->session()->flash('registration_data', $registration_data);
// Generate the QR image. This is the image the user will scan with their app
// to set up two factor authentication
$QR_Image = $google2fa->getQRCodeInline(
config('app.name'),
$registration_data['email'],
$registration_data['google2fa_secret']
);
// Pass the QR barcode image to our view
return view('google2fa.register', ['QR_Image' => $QR_Image, 'secret' => $registration_data['google2fa_secret']]);
}
My View:
<div>
<img src="{{ $QR_Image }}">
</div>