Rumah >rangka kerja php >Laravel >laravel melaksanakan log masuk sisi aplikasi
Dengan peningkatan jumlah aplikasi telefon pintar, permintaan untuk pembangunan aplikasi mudah alih semakin meningkat dari hari ke hari Log masuk pengguna telah menjadi salah satu fungsi yang sangat penting dalam aplikasi mudah alih, kerana log masuk pengguna bukan sahaja dapat melindungi keselamatan maklumat pengguna. tetapi juga memudahkan pengguna mengakses maklumat mereka pada peranti yang berbeza. Laravel ialah rangka kerja PHP yang popular yang menyediakan banyak fungsi terbina dalam dan pakej sambungan untuk membantu pembangun melaksanakan pelbagai fungsi aplikasi, termasuk fungsi log masuk di sebelah APP. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk melaksanakan fungsi log masuk APP.
1. Pemasangan dan konfigurasi Laravel
Sebelum mula melaksanakan fungsi log masuk APP dalam Laravel, anda perlu memasang dan mengkonfigurasi persekitaran Laravel. Mula-mula, pastikan anda telah memasang alat Komposer (https://getcomposer.org/). Seterusnya, jalankan arahan berikut untuk memasang Laravel dalam komputer anda.
composer create-project --prefer-dist laravel/laravel myapp
Di mana "myapp" ialah nama aplikasi Laravel yang ingin anda buat.
Selepas pemasangan selesai, anda boleh pergi ke direktori myapp dan jalankan arahan berikut untuk memulakan pelayan pembangunan setempat.
php artisan serve
Lawati http://localhost:8000 untuk melihat halaman alu-aluan Laravel. Seterusnya, anda perlu memasang dan mengkonfigurasi pakej sambungan Pasport untuk menyokong fungsi log masuk di sebelah APP.
Jalankan arahan berikut untuk memasang sambungan Pasport:
composer require laravel/passport
Selepas pemasangan selesai, jalankan arahan berikut untuk menjana kunci Pasport yang diperlukan:
php artisan passport:keys
Seterusnya, jalankan arahan berikut Untuk menjana pemindahan pangkalan data Pasport:
php artisan migrate
2. Laksanakan fungsi log masuk APP
Pertama, anda perlu untuk mencipta model Pengguna supaya aplikasi boleh mengurus pengguna. Jalankan arahan berikut untuk mencipta model bernama Pengguna:
php artisan make:model User
Seterusnya, buat pengawal bernama AuthController dan tambah kod berikut di dalamnya:
<?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); } } }
Dalam kod di atas, Kaedah daftar membenarkan pengguna untuk mendaftar, dan kaedah log masuk membolehkan pengguna log masuk. Jika pengguna berjaya mendaftar atau log masuk, token akses dikembalikan dan digunakan untuk permintaan pengguna berikutnya.
Seterusnya, anda perlu mencipta laluan API yang sepadan untuk mengendalikan permintaan log masuk dan pendaftaran pengguna. Dalam fail route/api.php, tambahkan kod berikut:
<?php use IlluminateHttpRequest; use IlluminateSupportFacadesRoute; use AppHttpControllersAuthController; Route::post('/register', [AuthController::class, 'register']); Route::post('/login', [AuthController::class, 'login']);
Kod di atas memetakan permintaan pendaftaran dan log masuk kepada kaedah yang sepadan dalam pengawal AuthController.
3. Uji fungsi log masuk
Sekarang semua kod sudah sedia, anda boleh menguji fungsi log masuk dan pendaftaran dengan mengakses url berikut.
POST /api/register
POST /api/login
Apabila pengguna berjaya log masuk, token akan dikembalikan. Token ini boleh digunakan untuk membuat permintaan API seterusnya untuk mengesahkan pengguna.
$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');
Dalam contoh ini, menggunakan token untuk menghantar permintaan GET kepada /api/user, permintaan itu akan mengembalikan maklumat pengguna. Jika log masuk tidak berjaya, API akan mengembalikan kod ralat 401. Jika log masuk berjaya, maklumat pengguna akan dikembalikan.
Sangat mudah untuk menggunakan pakej sambungan Pasport dalam Laravel untuk melaksanakan fungsi log masuk pada bahagian APP Anda hanya perlu memasang dan mengkonfigurasi pakej sambungan yang sepadan. Dalam artikel ini, kami menunjukkan cara menggunakan Laravel untuk melengkapkan fungsi log masuk sebelah APP yang lengkap, mencapai log masuk pantas dan perlindungan keselamatan untuk pengguna.
Atas ialah kandungan terperinci laravel melaksanakan log masuk sisi aplikasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!