|
@@ -3,11 +3,11 @@
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
use Validator;
|
|
|
-use Illuminate\Http\Request;
|
|
|
+use Zxing\QrReader;
|
|
|
+use App\Classes\TimedTOTP;
|
|
|
use Illuminate\Http\File;
|
|
|
+use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
-use Zxing\QrReader;
|
|
|
-use App\TwoFAccount;
|
|
|
|
|
|
class QrCodecontroller extends Controller
|
|
|
{
|
|
@@ -39,6 +39,7 @@ class QrCodecontroller extends Controller
|
|
|
$qrcode = new QrReader(storage_path('app/' . $path));
|
|
|
$uri = urldecode($qrcode->text());
|
|
|
|
|
|
+ // delete uploaded file
|
|
|
Storage::delete($path);
|
|
|
|
|
|
if( empty($uri) ) {
|
|
@@ -51,6 +52,17 @@ class QrCodecontroller extends Controller
|
|
|
|
|
|
}
|
|
|
|
|
|
+ // Check uri validity
|
|
|
+ if( !TimedTOTP::get($uri) ) {
|
|
|
+
|
|
|
+ return response()->json([
|
|
|
+ 'error' => [
|
|
|
+ 'uri' => 'This uri do not return any TOTP code 😕'
|
|
|
+ ]
|
|
|
+ ], 400);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
$uriChunks = explode('?', $uri);
|
|
|
|
|
|
foreach(explode('&', $uriChunks[1]) as $option) {
|