Avec le nombre croissant d'applications pour smartphones, la demande de développement d'applications mobiles augmente de jour en jour. La connexion des utilisateurs est devenue l'une des fonctions très importantes des applications mobiles, car la connexion des utilisateurs peut non seulement protéger la sécurité des informations des utilisateurs, mais également. faciliter la connexion des utilisateurs à différents moments. Accédez rapidement à leurs informations sur leurs appareils. Laravel est un framework PHP populaire qui fournit de nombreuses fonctions intégrées et packages d'extension pour aider les développeurs à implémenter diverses fonctions de l'application, y compris la fonction de connexion côté APP. Cet article explique comment utiliser Laravel pour implémenter la fonction de connexion APP.
1. Installation et configuration de Laravel
Avant de commencer à implémenter la fonction de connexion APP dans Laravel, vous devez installer et configurer l'environnement Laravel. Tout d'abord, assurez-vous d'avoir installé l'outil Composer (https://getcomposer.org/). Ensuite, exécutez la commande suivante pour installer Laravel sur votre ordinateur.
composer create-project --prefer-dist laravel/laravel myapp
où "myapp" est le nom de l'application Laravel que vous souhaitez créer.
Une fois l'installation terminée, vous pouvez entrer dans le répertoire myapp et exécuter la commande suivante pour démarrer un serveur de développement local.
php artisan serve
Visitez http://localhost:8000 pour voir la page d'accueil de Laravel. Ensuite, vous devez installer et configurer le package d'extension Passport pour prendre en charge la fonction de connexion côté APP.
Exécutez la commande suivante pour installer le pack d'extension Passport :
composer require laravel/passport
Une fois l'installation terminée, exécutez la commande suivante pour générer les clés Passport nécessaires :
php artisan passport:keys
Ensuite, exécutez la commande suivante pour générer la migration de la base de données Passport :
php artisan migrate
II. Implémentez la fonction de connexion côté application
Tout d'abord, vous devez créer un modèle utilisateur afin que l'application puisse gérer les utilisateurs. Exécutez la commande suivante pour créer un modèle nommé User :
php artisan make:model User
Ensuite, créez un contrôleur nommé AuthController et ajoutez-y le code suivant :
<?php namespace AppHttpControllers; use AppModelsUser; use IlluminateHttpRequest; use IlluminateSupportFacadesAuth; use Validator; class AuthController extends Controller { public function register(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required', 'email' => 'required|email|unique:users', 'password' => 'required', ]); if ($validator->fails()) { return response()->json(['error' => $validator->errors()], 401); } $user = new User; $user->name = $request->name; $user->email = $request->email; $user->password = bcrypt($request->password); $user->save(); $token = $user->createToken('MyApp')->accessToken; return response()->json(['token' => $token], 200); } public function login(Request $request) { $validator = Validator::make($request->all(), [ 'email' => 'required|email', 'password' => 'required', ]); if ($validator->fails()) { return response()->json(['error' => $validator->errors()], 401); } $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { $user = Auth::user(); $token = $user->createToken('MyApp')->accessToken; return response()->json(['token' => $token], 200); } else { return response()->json(['error' => 'Unauthorized'], 401); } } }
Dans le code ci-dessus, la méthode de registre permet à l'utilisateur de s'inscrire, la méthode de connexion permet l'utilisateur à se connecter. Si l'utilisateur s'inscrit ou se connecte avec succès, un jeton d'accès est renvoyé et est utilisé pour les demandes utilisateur ultérieures.
Ensuite, vous devez créer des routes API correspondantes pour gérer les demandes de connexion et d'enregistrement des utilisateurs. Dans le fichier routes/api.php, ajoutez le code suivant :
<?php use IlluminateHttpRequest; use IlluminateSupportFacadesRoute; use AppHttpControllersAuthController; Route::post('/register', [AuthController::class, 'register']); Route::post('/login', [AuthController::class, 'login']);
Le code ci-dessus mappe les demandes d'enregistrement et de connexion aux méthodes correspondantes dans le contrôleur AuthController.
3. Testez la fonction de connexion
Maintenant que tout le code est prêt, vous pouvez tester les fonctions de connexion et d'enregistrement en accédant à l'url suivante.
POST /api/register
POST /api/login
Lorsque l'utilisateur se connecte avec succès, un jeton sera renvoyé. Ce jeton peut être utilisé pour effectuer des requêtes API ultérieures afin d'authentifier l'utilisateur.
$token = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImZlYTcwMDU3NzhlZWUyMTU3MzliNTM3ODQyNTI0NWJiMGM5YjA3ZWIyMWNlMDhhMDM5ODUyYjczMzVjNWE1NjJlN2UwMGU4ZTQ5MjhhNzg1In0.eyJhdWQiOiIxMSIsImp0aSI6ImZlYTcwMDU3NzhlZWUyMTU3MzliNTM3ODQyNTI0NWJiMGM5YjA3ZWIyMWNlMDhhMDM5ODUyYjczMzVjNWE1NjJlN2UwMGU4ZTQ5MjhhNzg1IiwiaWF0IjoxNjMwMzkwNTM3LCJuYmYiOjE2MzAzOTA1MzcsImV4cCI6MTYzMDM5NDAzNywiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.XsIFsVCc3N1oZ70vzWn4wHQSv3Q-JVdlfu4LJkUPL0he_53bpgJrq5jw8mHygB-1-kpq62N7eG_r08fXKkmbiqeITmUiaGKa0prKzXCoexuYKuxYqG8j-HY2UyDp5g_TE6M4eW5FrcDpTJ0WcQ5ShDhdszUFQUH_qR52ypeEUmsF6CFwx1YJt4AmCFEy2CjsKOMl9K9o0mV_ytvBZ9drY6w6HTRfYfU7q5yuM-W3Qp6bbS-ljzY_2M0RWzwZJm6QvO3Byjhw1TNUrPHFs6xGlY4M7zgkDZxas5srQgpFjKof2LztN7QAJaiT_d6XAKpS24JA2-v2U7x3g'; $response = $this->withHeaders([ 'Authorization' => $token, ])->json('GET', '/api/user');
Dans cet exemple, utilisez token pour envoyer une requête GET à /api/user, qui renverra les informations de l'utilisateur. Si la connexion échoue, l'API renvoie un code d'erreur 401. Si la connexion réussit, les informations de l'utilisateur seront renvoyées.
Il est très simple d'utiliser le package d'extension Passport dans Laravel pour implémenter la fonction de connexion côté APP. Il vous suffit d'installer et de configurer le package d'extension correspondant. Dans cet article, nous montrons comment utiliser Laravel pour compléter une fonction de connexion complète côté application, obtenant ainsi une connexion rapide et une protection de sécurité pour les utilisateurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!