< Laravel API

Laravel API Basic azonosítás

Szerző: Sallai András

Copyright © Sallai András, 2021, 2022

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

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:

'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:

<?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:

USERNAME: janos@zold.lan

PASSWORD: titok

Linkek

https://laravel.com/docs/9.x/authentication#stateless-http-basic-authentication (2022)