Tartalomjegyzék

< Laravel API

Laravel API Basic azonosítás

Bevezetés

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.

Azonosítás telepítése

php artisan make:middleware AuthBasic

Beállítás

A middleware programokat az app/Http/Middleware/ könyvtárban tartjuk.

Szerkesszük a következő fájlt:

app/Http/Middleware/AuthBasic.php
//...
 
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:

app/Http/Kernel.php
'api' => [
    'throttle:60,1',
    'bindings',
    \App\Http\Middleware\AuthBasic::class,
],

Felhasználókezelés

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:

encode.php
<?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

Tesztelés

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:

Linkek