Rumah > rangka kerja php > Laravel > teks badan

laravel melaksanakan log masuk sisi aplikasi

王林
Lepaskan: 2023-05-26 11:43:07
asal
984 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

Selepas pemasangan selesai, jalankan arahan berikut untuk menjana kunci Pasport yang diperlukan:

php artisan passport:keys
Salin selepas log masuk

Seterusnya, jalankan arahan berikut Untuk menjana pemindahan pangkalan data Pasport:

php artisan migrate
Salin selepas log masuk

2. Laksanakan fungsi log masuk APP

  1. Buat model pengguna dan pengawal

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
Salin selepas log masuk

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);
        }
    }
}
Salin selepas log masuk

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.

  1. Buat laluan API

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']);
Salin selepas log masuk

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

    • Daftar pengguna baharu. Parameter: nama, e-mel, kata laluan.
  • POST /api/login

    • untuk log masuk pengguna. Parameter: e-mel, kata laluan.

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');
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan