-- Authentification avec JWT

Authentification avec JWT

Installer JWT

composer require php-open-source-saver/jwt-auth

Publier la configuration JWT

php artisan vendor:publish --provider="PHPOpenSourceSaverJWTAuthProvidersLaravelServiceProvider"

Générer une clé JWT

php artisan jwt:secret

Modifier config/auth.php

Ajoutez :

'defaults' => [
 'guard' => 'api',
 'passwords' => 'users',
],
'guards' => [
 'web' => [
 'driver' => 'session',
 'provider' => 'users',
 ],
 'api' => [
 'driver' => 'jwt',
 'provider' => 'users',
 ],
],

 Modifier User.php pour JWT

use PHPOpenSourceSaverJWTAuthContractsJWTSubject;
class User extends Authenticatable implements JWTSubject {
 public function getJWTIdentifier() {
 return $this->getKey();
 }
 public function getJWTCustomClaims() {
 return [];
 }
}

Créer AuthController.php

use IlluminateHttpRequest;
use AppModelsUser;
use IlluminateSupportFacadesAuth;
use PHPOpenSourceSaverJWTAuthFacadesJWTAuth;
class AuthController extends Controller {
 public function register(Request $request) {
 $user = User::create([
 'name' => $request->name,
 'email' => $request->email,
 'password' => bcrypt($request->password),
 ]);
 return response()->json(['token' => JWTAuth::fromUser($user)]);
 }
 public function login(Request $request) {
 $credentials = $request->only('email', 'password');
 if (!$token = JWTAuth::attempt($credentials)) {
 return response()->json(['error' => 'Unauthorized'], 401);
 }
 return response()->json(['token' => $token]);
 }
 public function logout() {
 JWTAuth::invalidate(JWTAuth::getToken());
 return response()->json(['message' => 'Déconnexion réussie']);
 }
}

Upload de Fichiers

Créer la Migration pour les fichiers

php artisan make:migration create_files_table

Définir le schéma de la table

Schema::create('files', function (Blueprint $table) {
 $table->id();
 $table->string('filename');
 $table->string('path');
 $table->timestamps();
});
php artisan migrate

 


 


 


 


`