Rumah  >  Artikel  >  rangka kerja php  >  Pembangunan Laravel: Bagaimana untuk melaksanakan pengesahan OAuth2 menggunakan Pasport Laravel?

Pembangunan Laravel: Bagaimana untuk melaksanakan pengesahan OAuth2 menggunakan Pasport Laravel?

PHPz
PHPzasal
2023-06-15 12:24:07946semak imbas

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!

Kenyataan:
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