Dengan populariti Internet mudah alih, semakin banyak aplikasi memerlukan pengguna untuk mengesahkan dan memberi kebenaran. OAuth2 ialah rangka kerja pengesahan dan kebenaran popular yang menyediakan aplikasi dengan mekanisme piawai untuk melaksanakan fungsi ini. Pasport Laravel ialah pelaksanaan pelayan OAuth2 yang mudah digunakan, selamat dan luar biasa yang menyediakan pembangun PHP alat yang berkuasa untuk membina pengesahan dan kebenaran OAuth2. Artikel ini akan memperkenalkan cara menggunakan Pasport Laravel untuk membantu pembangun PHP menguasai pembangunan dan aplikasi OAuth2 dengan lebih baik.
Laravel Passport ialah pelaksanaan pelayan OAuth2 lengkap yang menyediakan mekanisme pengesahan dan kebenaran yang mudah dipasang, mudah digunakan, mudah dilanjutkan dan boleh dipercayai. Pasport juga menyokong penandatanganan dan pengesahan token menggunakan JSON Web Token (JWT) dan menyediakan keupayaan pengesahan yang sangat mudah dalam API RESTful. Sudah tentu, untuk menggunakan Pasport Laravel untuk membangunkan penyedia perkhidmatan OAuth2, kita mesti terlebih dahulu menguasai pengetahuan teori dan pengetahuan asas yang berkaitan tentang OAuth2.
OAuth2 ialah rangka kerja kebenaran yang membolehkan aplikasi klien mengakses sumber yang dibenarkan oleh pengguna dengan menggunakan pelayan kebenaran. OAuth2 direka bentuk sebagai protokol berasaskan HTTP yang membolehkan pengguna membenarkan aplikasi klien pihak ketiga kepada pelayan sumber tertentu (seperti pelayan imej atau pelayan fail) untuk mengakses maklumat mereka yang disimpan pada pelayan yang berbeza sama sekali. Konsep teras protokol OAuth2 termasuk:
Spesifikasi OAuth2 mentakrifkan beberapa jenis kebenaran untuk pembangun dan jenis kebenaran ini mempunyai senario penggunaan yang berbeza, seperti:
Sekarang kami telah memahami asas-asas OAuth2 dan pengenalan kepada Laravel Passport, kami akan memasuki peringkat praktikal, Mula melaksanakan pembekal perkhidmatan OAuth2 menggunakan Pasport Laravel.
3.1. Pasang Pasport Laravel
Kami boleh menggunakan Komposer untuk memasang Pasport Laravel, membuka terminal atau gesaan baris arahan, dan masukkan arahan berikut:
composer require laravel/passport
Selepas memasang Laravel Pasport kami Anda perlu menjalankan perintah untuk pemindahan pangkalan data:
php artisan migrate
3.2 Konfigurasikan OAuth2
Dalam Pasport Laravel, minta token akses dan dapatkan sumber melalui "klien". Sebelum kita mula, kita perlu mencipta beberapa pelanggan. Kita boleh menggunakan pasport arahan Passport:client untuk mencipta pelanggan:
php artisan passport:client
Arahan ini akan memaparkan ID pelanggan dan kunci rahsia yang dibuat dalam konsol, serta jenis pelanggan (awam atau sulit), pelanggan jenis akhir menentukan cara token akses dijana.
Seterusnya, konfigurasikan pengawal dan penyedia dalam fail config/auth.php, menggunakan pasport sebagai pembekal kebenaran:
'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'passport', 'provider' => 'users', ], ] 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => AppModelsUser::class, ], ],
Dalam coretan kod di atas, kami hanya mendayakan yang bernama api " Penjaga pintu", nyatakan ia sebagai penjaga pintu Pasport ('pemandu' => 'pasport').
Selepas konfigurasi selesai, kami perlu menjana semula kunci Pasport dan laksanakan arahan berikut:
php artisan passport:keys
Selepas menjalankan arahan ini, pembekal perkhidmatan OAuth2 kami telah melengkapkan konfigurasi, dan kemudian kami It's masa untuk mencipta token akses OAuth2 dalam Laravel.
3.3. Cipta token akses OAuth2
Apabila menggunakan OAuth2, kita perlu mencipta token akses, yang digunakan untuk melindungi titik akhir API. Dalam Laravel Passort, penjanaan token akses OAuth2 adalah sangat mudah. Kami boleh mengambil contoh kod untuknya dalam laluan yang perlu dilindungi:
Route::get('/user', function (Request $request) { return $request->user(); })->middleware('auth:api');
Laluan ini menggunakan perisian tengah auth:api, yang akan menyemak token akses dan menetapkan permintaan kepada pengguna.
Apabila pembekal perkhidmatan dan token akses OAuth2 telah dikonfigurasikan, kami boleh menguji melalui Posmen. Kami boleh menggunakan Posman untuk membuat permintaan GET untuk bertanya sama ada pengguna boleh mendapatkan token akses atau menggunakan token akses untuk mendapatkan laluan yang dilindungi. Dalam Posman, pengguna memerlukan pengesahan untuk mengakses laluan yang dilindungi. Berikut ialah contoh kod:
GET http://localhost:8000/api/user Authorization : Bearer {access token}
Dalam kod sampel ini, kami menghantar permintaan GET dan mengesahkan menggunakan token akses OAuth2. Jika semuanya berjalan lancar, API akan mengembalikan maklumat yang dilindungi yang diminta.
Artikel ini telah memperkenalkan penggunaan Pasport Laravel Kini anda telah menguasai kaedah menggunakan spesifikasi OAuth2 dan Pasport untuk mencipta identiti yang selamat dan cekap dalam aplikasi PHP dan mekanisme kebenaran. Menggunakan Pasport sangat berguna untuk pembangun membina API RESTful dan aplikasi mudah alih dalam Laravel kerana ia mengurangkan kerumitan pembangunan dan meningkatkan kelajuan pembangunan. Saya harap artikel ini dapat memberi rujukan dan bantuan untuk pembangun PHP.
Atas ialah kandungan terperinci Pembangunan PHP: Melaksanakan pembekal perkhidmatan OAuth2 menggunakan Pasport Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!