cari
Rumahpembangunan bahagian belakangtutorial phpPengesahan Laravel Menggunakan Pasport

Laravel Authentication Using Passport

Menguasai Pengesahan Laravel dengan Pasport: Panduan Langkah demi Langkah

Pengesahan ialah asas kepada aplikasi web moden. Dalam Laravel, Pasport menyediakan pelaksanaan pelayan OAuth2 penuh, mendayakan pengesahan API dengan lancar. Panduan ini membimbing anda melalui keseluruhan proses menyediakan Pasport Laravel, daripada pemasangan kepada memastikan dan menguji API anda.


Pengenalan

Mengapa Menggunakan Pasport Laravel?

Laravel Passport memudahkan kerumitan pengesahan OAuth2 dengan mengintegrasikannya rapat dengan ekosistem Laravel. Dengan Pasport, anda boleh:

  • Sahkan pengguna API dengan selamat.
  • Jana token akses peribadi untuk pelanggan mudah alih dan web.
  • Urus tamat tempoh dan pembatalan token dengan mudah.

Prasyarat

Sebelum menyelam, pastikan anda mempunyai:

  1. Pemahaman asas tentang Laravel.
  2. Projek Laravel (v10.x atau lebih baru disyorkan) dipasang dan dikonfigurasikan dengan pangkalan data.
  3. PHP 8.0 atau lebih baru dipasang.

Jika anda tidak menyediakan projek, buat projek dengan:

composer create-project --prefer-dist laravel/laravel passport-auth
cd passport-auth

Langkah 1: Pasang Pasport Laravel

Pasang Pakej

Jalankan arahan berikut untuk menambah Pasport pada projek anda:

composer require laravel/passport

Terbitkan dan Pindahkan Fail Pasport

Terbitkan fail migrasi dan konfigurasi Pasport:

php artisan vendor:publish --tag=passport-migrations
php artisan migrate

Langkah 2: Konfigurasi Pasport Laravel

Pasang Kunci Penyulitan dan Pelanggan

Jalankan arahan pemasangan:

php artisan passport:install

Ini menjana kunci penyulitan dan mencipta klien OAuth dalam pangkalan data anda. Perhatikan output, terutamanya ID pelanggan dan rahsia.

Pilihan: Buat Klien Akses Peribadi

Untuk mencipta klien akses peribadi secara eksplisit, jalankan:

php artisan passport:client --personal

Langkah 3: Kemas kini Model

Tambahkan ciri HasApiTokens pada model pengguna anda:

use Laravel\Passport\HasApiTokens;

class User extends Authenticatable
{
    use HasApiTokens, Notifiable;

    // Other properties...
}

Langkah 4: Kemas kini Konfigurasi Pengesahan

Konfigurasikan Pasport sebagai pemandu untuk pengawal API dalam config/auth.php:

'guards' => [
    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],

Langkah 5: Daftar Laluan Pasport

Dalam AppProvidersAppServiceProvider, muatkan laluan Pasport:

use Laravel\Passport\Passport;

public function boot(): void
{
    Passport::routes();
    Passport::tokensExpireIn(now()->addDays(15));
    Passport::refreshTokensExpireIn(now()->addDays(30));
    Passport::personalAccessTokensExpireIn(now()->addMonths(6));
}

Langkah 6: Bina Titik Akhir API Pengesahan

Tambah Laluan

Tentukan laluan API dalam route/api.php:

use App\Http\Controllers\AuthController;

Route::post('/register', [AuthController::class, 'register']);
Route::post('/login', [AuthController::class, 'login']);
Route::middleware('auth:api')->get('/user', [AuthController::class, 'user']);

Buat Pengawal Pengesahan

Laksanakan kaedah pengesahan:

composer create-project --prefer-dist laravel/laravel passport-auth
cd passport-auth

Langkah 7: Tetapkan Kebenaran untuk Kunci Penyulitan

Pastikan akses selamat kepada kunci Pasport:

composer require laravel/passport

Sahkan kebenaran:

php artisan vendor:publish --tag=passport-migrations
php artisan migrate

Keluaran yang dijangkakan:

php artisan passport:install

Langkah 8: Uji API

Gunakan Posmen atau mana-mana klien API untuk menguji titik akhir:

  1. Daftar: Hantar permintaan POST ke /daftar dengan nama, e-mel dan kata laluan.
  2. Log Masuk: Hantar permintaan POST ke /log masuk dengan e-mel dan kata laluan.
  3. Dapatkan Data Pengguna: Hantar permintaan GET kepada /pengguna dengan token dalam pengepala Kebenaran.

Amalan Terbaik

  • Gunakan HTTPS dalam pengeluaran.
  • Putar kunci penyulitan secara berkala.
  • Sahkan input dengan teliti.
  • Hadkan skop token untuk keselamatan yang lebih baik.

Kesimpulan

Tahniah! Anda telah berjaya melaksanakan pengesahan API menggunakan Pasport Laravel. Persediaan ini menyediakan asas yang kukuh untuk memastikan API anda. Terokai ciri Pasport lanjutan seperti skop, pembatalan token dan kelayakan pelanggan untuk meningkatkan lagi keselamatan aplikasi anda.


Atas ialah kandungan terperinci Pengesahan Laravel Menggunakan Pasport. 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
Data apa yang boleh disimpan dalam sesi PHP?Data apa yang boleh disimpan dalam sesi PHP?May 02, 2025 am 12:17 AM

Phpsessionscanstorestrings, nombor, tatasusunan, andobjects.1.strings: textdatalikeusernames.2.numbers: integersorfloatsforcounters.3.Arrays: ListsLikeshoppingCarts.4.Objects: complextructureSturesthatareserialized.

Bagaimana anda memulakan sesi PHP?Bagaimana anda memulakan sesi PHP?May 02, 2025 am 12:16 AM

Tostartaphpsession, usesession_start () atthescript'sbeginning.1) placeitbeforeanyoutputtosetthesessioncookie.2) usesessionsforusererdatalikeloginstatusorshoppingcarts.3)

Apakah regenerasi sesi, dan bagaimanakah ia meningkatkan keselamatan?Apakah regenerasi sesi, dan bagaimanakah ia meningkatkan keselamatan?May 02, 2025 am 12:15 AM

Penjanaan semula sesi merujuk kepada menjana ID sesi baru dan membatalkan ID lama apabila pengguna melakukan operasi sensitif dalam kes serangan tetap sesi. Langkah-langkah pelaksanaan termasuk: 1. Mengesan Operasi Sensitif, 2. Menjana ID Sesi Baru, 3. Memusnahkan ID Sesi Lama, 4. Kemas kini maklumat sesi pengguna.

Apakah beberapa pertimbangan prestasi semasa menggunakan sesi PHP?Apakah beberapa pertimbangan prestasi semasa menggunakan sesi PHP?May 02, 2025 am 12:11 AM

Sesi PHP mempunyai kesan yang signifikan terhadap prestasi aplikasi. Kaedah pengoptimuman termasuk: 1. Gunakan pangkalan data untuk menyimpan data sesi untuk meningkatkan kelajuan tindak balas; 2. Mengurangkan penggunaan data sesi dan hanya menyimpan maklumat yang diperlukan; 3. Gunakan pemproses sesi yang tidak menyekat untuk meningkatkan keupayaan konkurensi; 4. Laraskan masa tamat tempoh sesi untuk mengimbangi pengalaman pengguna dan beban pelayan; 5. Gunakan sesi berterusan untuk mengurangkan bilangan data membaca dan menulis masa.

Bagaimana sesi PHP berbeza dari kuki?Bagaimana sesi PHP berbeza dari kuki?May 02, 2025 am 12:03 AM

Phpsessionsareserver-side, whilecookiesareclient-side.1) Sessionsstoredataontheserver, aremoresecure, andhandlelargerdata.2) cookiesstoredataontheclient, arelesssecure, andlimiteShorsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsions

Bagaimanakah PHP mengenal pasti sesi pengguna?Bagaimanakah PHP mengenal pasti sesi pengguna?May 01, 2025 am 12:23 AM

Phpidentifierauser'sSessionusingSessionCookiesandSessionIds.1) whensession_start () ISCALLED, phpGeneratesAuniquesessionIdstoredinacookienamedPhpsessidontheUserer'sBrowser.2) ThisIdallowsPhptoretRievesSessionDataFromtheserver.

Apakah beberapa amalan terbaik untuk mendapatkan sesi PHP?Apakah beberapa amalan terbaik untuk mendapatkan sesi PHP?May 01, 2025 am 12:22 AM

Keselamatan sesi PHP boleh dicapai melalui langkah -langkah berikut: 1. Gunakan session_regenerate_id () untuk menjana semula ID sesi apabila pengguna log masuk atau merupakan operasi penting. 2. Sulitkan ID sesi penghantaran melalui protokol HTTPS. 3. Gunakan session_save_path () untuk menentukan direktori selamat untuk menyimpan data sesi dan menetapkan kebenaran dengan betul.

Di manakah fail sesi php disimpan secara lalai?Di manakah fail sesi php disimpan secara lalai?May 01, 2025 am 12:15 AM

PhpsessionFileSarestoredIntHedirectorySpecifiedBySession.save_path, biasanya/tmponunix-likesystemsorc: \ windows \ temponwindows.tocustomethis: 1) usession_save_path ()

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan