Adott egy Laravel projekt, ahol szeretnék Basic azonosítást beállítani. A beállításhoz middleware-t fogunk használni, amivel belenyúlhatunk a beérkező HTTP kérésekbe.
php artisan make:middleware AuthBasic
A middleware programokat az app/Http/Middleware/ könyvtárban tartjuk.
Szerkesszük a következő fájlt:
//... use Illuminate\Support\Facades\Auth; class AuthBasic { public function handle($request, Closure $next) { if(Auth::onceBasic()) { return response()->json(['message' => 'Auth failed'], 401); }else { return $next($request); } } }
Szerkesszük a Kernel.php fájlt:
'api' => [ 'throttle:60,1', 'bindings', \App\Http\Middleware\AuthBasic::class, ],
Az adatbázis users tábláját szerkeszthetjük bármilyen SQLite kezelővel, például DBeaver. De használhatunk Breeze azonosítást is, ahol webes felületen tudjuk regisztrálni a felhasználókat.
Ha saját adatbáziskezelőt használunk, a jelszót titkosítani kell, bcrypt titkosítóval.
Kódolás:
<?php $options = [ 'cost' => 12, ]; echo password_hash("titok", PASSWORD_BCRYPT, $options);
Futtatás:
php encode.php
A kimenet például:
$2y$12$MEgwtQuTzvBCuNWup.JQWeSsNWoJK75vGhGl0KPaIplyecdopse9O
Indítsuk el az Insomnia-t.
Készítsünk egy POST kérést, ahol az Auth fülön Basic azonosítást állítunk be.
Paraméterek: