Pembangunan Laravel: Bagaimana untuk melaksanakan pengesahan OAuth2 menggunakan Pasport Laravel?
Laravel ialah rangka kerja pembangunan web PHP yang popular yang memudahkan untuk membina aplikasi web yang cekap, berskala dan mudah diselenggara. Laravel mempunyai banyak ciri dan komponen, termasuk Pasport Laravel. Laravel Passport ialah pelaksanaan pelayan OAuth2 lengkap yang membantu pembangun menambahkan pengesahan selamat pada aplikasi mereka dengan mudah.
OAuth2 ialah piawaian kebenaran untuk mengamankan API dan merupakan kaedah selamat yang membolehkan aplikasi pihak ketiga mengakses data pengguna melalui API. Ia adalah standard terbuka yang digunakan oleh banyak syarikat dan organisasi, seperti Facebook, Google, GitHub dan Twitter. Pasport Laravel ialah pelaksanaan pelayan OAuth2 rasmi bagi rangka kerja Laravel.
Di bawah, saya akan menunjukkan kepada anda cara melaksanakan pengesahan OAuth2 menggunakan Pasport Laravel.
Langkah 1: Pasang Pasport Laravel
Pasang Pasport Laravel menggunakan Komposer. Masukkan arahan berikut pada baris arahan:
composer require laravel/passport
Setelah pemasangan selesai, jalankan arahan berikut untuk menerbitkan fail konfigurasi Pasport dan migrasi pangkalan data:
php artisan passport:install
Perintah ini akan mencipta kunci penyulitan sebagai serta jadual Pangkalan Data untuk token akses.
Langkah 2: Sediakan Pasport
Dayakan Pasport dalam aplikasi Laravel anda. Edit fail config/app.php
dan tambah LaravelPassportPassportServiceProvider::class,
pada tatasusunan Provide.
melaksanakan ciri AppUser
dalam model LaravelPassportHasApiTokens
. Sifat ini akan menambah beberapa kaedah yang berkaitan dengan pengguna API kepada model pengguna.
Seterusnya, jalankan migrasi data untuk mencipta struktur jadual pangkalan data yang digunakan oleh Pasport.
php artisan migrate
Langkah 3: Sediakan pelanggan dalam Pasport
Pasport menggunakan model pelayan pelanggan OAuth2 secara dalaman. Pembangun perlu mencipta "ID Pelanggan" dan "Rahsia Pelanggan" yang unik untuk pelanggan mereka. Dalam Pasport Laravel, untuk mencipta pelanggan baharu, anda boleh menggunakan perintah php artisan passport:client
. Perintah ini akan menjana ID pelanggan dan rahsia pelanggan, yang mesti disimpan dengan betul untuk digunakan dalam API.
php artisan passport:client --client
Langkah 4: Tentukan Laluan API
Tentukan laluan API anda dalam fail routes/api.php
. Pasport termasuk perisian tengah yang dipanggil auth:api
untuk menyemak sama ada permintaan itu mengandungi token akses yang sah. Pastikan anda menggunakan perisian tengah ini untuk melindungi laluan yang dilindungi.
Contohnya:
Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });
Langkah 5: Jana token akses
Sebelum menjana token akses, pengguna harus memberi kebenaran kepada pelanggan untuk mengakses data mereka. Untuk aplikasi API anda, anda harus memaparkan antara muka kebenaran kepada pengguna di bahagian hadapan, membenarkan pengguna membenarkan klien mengakses data mereka.
Untuk menjana token akses, hantar permintaan POST ke aplikasi Laravel anda. Permintaan token akses POST hendaklah mengandungi ID pelanggan, rahsia pelanggan, nama pengguna dan kata laluan. Jika permintaan itu berjaya, Pasport akan mengembalikan token akses kepada permohonan itu.
POST /oauth/token HTTP/1.1 Host: your-app.com Content-Type: application/x-www-form-urlencoded grant_type=password& client_id=client-id& client_secret=client-secret& username=user@your-app.com& password=user-password&
Tanggapan untuk token akses kelihatan seperti ini:
{ "token_type": "Bearer", "expires_in": 31536000, "access_token": "eyJ0eXAiOiJKV1QiLCJ...", "refresh_token": "def5020086062f..." }
Perhatikan bahawa lulus perintah passport:install akan menjana kunci penyulitan, yang akan digunakan untuk menjana token akses.
Langkah 6: Panggil API menggunakan token akses
Akhir sekali, gunakan token akses untuk memanggil titik akhir API yang dilindungi. Apabila menetapkan pengepala untuk permintaan, pastikan anda menggunakan protokol pengesahan Pembawa dan nyatakan pengepala "Kebenaran" dalam permintaan.
Contoh:
GET /api/user HTTP/1.1 Host: your-app.com Authorization: Bearer eyJ0eXAiOiJKV1QiLCJ...
Ini akan mengembalikan perwakilan JSON bagi pengguna yang sedang disahkan.
Kesimpulan:
Laravel Passport menyediakan cara yang mudah untuk melaksanakan aliran pengesahan OAuth2. Ia membolehkan pembangun menambahkan fungsi OAuth2 dengan cepat pada aplikasi Laravel, menjadikan API lebih selamat. Melalui langkah di atas, anda boleh mempelajari cara melaksanakan pengesahan OAuth2 dalam Laravel menggunakan Pasport Laravel.
Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk melaksanakan pengesahan OAuth2 menggunakan Pasport Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!