Skip to content

Commit 30182cb

Browse files
feedback: prevent token duplication
1 parent a7660d9 commit 30182cb

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

app/Http/Controllers/Api/Auth/Dispense.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use App\Auth\Dispensary\Exceptions\TokenExpiredException;
88
use App\Auth\LoginDispensary;
99
use App\Models\User;
10+
use App\Models\UserToken;
1011
use App\SPA\UrlGenerator;
1112
use Illuminate\Contracts\Routing\ResponseFactory;
1213
use Illuminate\Contracts\Translation\Translator;
@@ -64,7 +65,11 @@ public function __invoke(Request $request): RedirectResponse
6465
return $this->responseFactory->redirectTo($url);
6566
}
6667

67-
$user->tokens()->create(['token' => $token = Str::random(128)]);
68+
do {
69+
$token = Str::random(128);
70+
} while (UserToken::query()->where('token', $token)->doesntExist());
71+
72+
$user->tokens()->create(['token' => $token]);
6873

6974
return $this->responseFactory->redirectTo($url . '#token=' . $token);
7075
} catch (TokenExpiredException $exception) {

0 commit comments

Comments
 (0)