ソースを参照

Fix base32 Encoding usage

Bubka 4 年 前
コミット
03981bc12b

+ 1 - 3
app/Http/Controllers/TwoFAccountController.php

@@ -4,10 +4,8 @@ namespace App\Http\Controllers;
 
 
 use App\Group;
 use App\Group;
 use App\TwoFAccount;
 use App\TwoFAccount;
-use App\Classes\OTP;
 use App\Classes\Options;
 use App\Classes\Options;
 use Illuminate\Http\Request;
 use Illuminate\Http\Request;
-use ParagonIE\ConstantTime\Base32;
 use Illuminate\Support\Facades\Storage;
 use Illuminate\Support\Facades\Storage;
 
 
 class TwoFAccountController extends Controller
 class TwoFAccountController extends Controller
@@ -19,7 +17,7 @@ class TwoFAccountController extends Controller
      */
      */
     public function index()
     public function index()
     {
     {
-        return response()->json(TwoFAccount::ofGroup(Options::get('activeGroup'))->ordered()->get()->toArray());
+        return response()->json(TwoFAccount::all());
     }
     }
 
 
 
 

+ 2 - 1
app/TwoFAccount.php

@@ -7,6 +7,7 @@ use OTPHP\TOTP;
 use OTPHP\HOTP;
 use OTPHP\HOTP;
 use OTPHP\Factory;
 use OTPHP\Factory;
 use App\Classes\Options;
 use App\Classes\Options;
+use ParagonIE\ConstantTime\Base32;
 use Spatie\EloquentSortable\Sortable;
 use Spatie\EloquentSortable\Sortable;
 use Spatie\EloquentSortable\SortableTrait;
 use Spatie\EloquentSortable\SortableTrait;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Database\Eloquent\Model;
@@ -283,7 +284,7 @@ class TwoFAccount extends Model implements Sortable
 
 
         try {
         try {
             // Create an OTP object using our secret but with default parameters
             // Create an OTP object using our secret but with default parameters
-            $secret = $attrib['secretIsBase32Encoded'] === 1 ? $attrib['secret'] : Encoding::base32EncodeUpper($attrib['secret']);
+            $secret = $attrib['secretIsBase32Encoded'] === 1 ? $attrib['secret'] : Base32::encodeUpper($attrib['secret']);
 
 
             $this->otp = $attrib['otpType'] === 'totp' ? TOTP::create($secret) : HOTP::create($secret);
             $this->otp = $attrib['otpType'] === 'totp' ? TOTP::create($secret) : HOTP::create($secret);
 
 

+ 2 - 1
database/factories/TwoFAccountFactory.php

@@ -4,6 +4,7 @@
 
 
 use App\TwoFAccount;
 use App\TwoFAccount;
 use Faker\Generator as Faker;
 use Faker\Generator as Faker;
+use ParagonIE\ConstantTime\Base32;
 
 
 /*
 /*
 |--------------------------------------------------------------------------
 |--------------------------------------------------------------------------
@@ -25,7 +26,7 @@ $factory->define(TwoFAccount::class, function (Faker $faker) {
     return [
     return [
         'service' => $service,
         'service' => $service,
         'account' => $account,
         'account' => $account,
-        'uri' => 'otpauth://totp/' . $service . ':' . $account . '?secret=' . $faker->regexify('[A-Z0-9]{16}') . '&issuer=' . $service,
+        'uri' => 'otpauth://totp/' . $service . ':' . $account . '?secret=' . Base32::encodeUpper($faker->regexify('[A-Z0-9]{8}')) . '&issuer=' . $service,
         'icon' => '',
         'icon' => '',
     ];
     ];
 });
 });