cari
Rumahrangka kerja phpLaravelPengenalan terperinci kepada proses, konfigurasi dan penggunaan Pasport Laravel

Laravel Passport ialah pelaksanaan pelayan OAuth2 yang lengkap di bawah rangka kerja Laravel Ia membolehkan anda mengesahkan dan membenarkan identiti pengguna melalui API, supaya perkhidmatan API boleh diakses tanpa mendedahkan bukti kelayakan pengguna, yang sangat mengurangkan kesukaran pelanggan pembangunan meningkatkan keselamatan aplikasi.

Protokol OAuth2 di sebalik Laravel Passport ialah standard industri, jadi anda boleh menyepadukan pengesahan dan kebenaran OAuth2 dengan mudah dalam bahasa dan rangka kerja lain menggunakan alatan dan proses yang sama. Di bawah, artikel ini akan memperkenalkan proses, konfigurasi dan penggunaan Pasport Laravel secara terperinci.

Pasang Pasport

Sebelum menggunakan Laravel Passport, anda perlu memasangnya. Kita boleh menggunakan arahan composer untuk memasang Passport, arahannya adalah seperti berikut:

composer require laravel/passport

Enable Passport

Selepas Laravel Passport dipasang, anda perlu menambah penyedia perkhidmatannya pada config/ tatasusunan penyedia fail app.php, buka fail, cari tatasusunan penyedia dan tambah penyedia perkhidmatan Pasport Laravel seperti berikut:

'providers' => [
    // Other Service Providers...
    Laravel\Passport\PassportServiceProvider::class,
],

Buat jadual pangkalan data

Sebelum menggunakan Pasport Laravel, juga Untuk mencipta jadual pangkalan data baharu yang diperlukan oleh Pasport, anda boleh menggunakan perintah artisan berikut untuk menjana fail migrasi:

php artisan migrate

Selepas melaksanakan arahan di atas, Laravel Passport akan mencipta beberapa jadual baharu dalam pangkalan data anda untuk disimpan Data OAuth2 seperti pelanggan, Token Akses dan Token Segar Semula.

Terbitkan fail konfigurasi

Laksanakan perintah artisan berikut untuk menerbitkan fail konfigurasi Pasport ke direktori konfigurasi projek Laravel:

php artisan vendor:publish --tag=passport-config

Buat kunci

Pada ketika ini, kami telah melengkapkan prasyarat yang diperlukan untuk menggunakan Pasport Laravel. Seterusnya, kita perlu menggunakan perintah artisan berikut untuk menjana kunci penyulitan:

php artisan passport:keys

Arahan di atas akan menjana kunci penyulitan untuk menandatangani data seperti kuki dan token akses.

Mengkonfigurasi Pasport

Selepas melengkapkan langkah di atas, seterusnya kita perlu mengkonfigurasi Pasport supaya ia boleh dijalankan. Dalam fail konfigurasi config/auth.php, tukar pemacu pemacu api kepada pasport, dan tetapkan pengawal dan pembekal seperti berikut:

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

Konfigurasikan penyedia dalam fail yang sama seperti berikut :

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
],

Setelah fail konfigurasi selesai, pengesahan API sudah sedia.

Buat Laluan

Seterusnya, kita perlu mencipta laluan API dalam fail laluan aplikasi/Http seperti berikut:

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

Dalam contoh laluan di atas, tentukan auth:api middleware dipasang untuk mengesahkan sama ada permintaan itu datang daripada pengguna yang disahkan Jika ia bukan pengguna yang disahkan, kod status 401 akan dikembalikan apabila pengesahan gagal.

Buat Pelanggan

Sekarang kami telah melengkapkan konfigurasi aplikasi dan tetapan penghalaan API, kami perlu mencipta klien API. Dalam Pasport Laravel, pasport perintah artisan:klien disediakan untuk membuat pelanggan OAuth2 baharu. Jalankan arahan seperti yang ditunjukkan di bawah:

php artisan passport:client --client

Selepas melaksanakan arahan tersebut, kita perlu memasukkan nama klien dan URI hala keizinan seperti yang ditunjukkan di bawah:

php artisan passport:client --client
Which user ID should the client be assigned to? [0]:
 > 1
What should we name the client?
 > Test
Where should we redirect the request after authorization?
 > http://example.com/callback

Arahan di atas akan mencipta A pelanggan OAuth2 baharu untuk menghantar permintaan ke API aplikasi ini. Kami akan mendapat ID pelanggan dan rahsia pelanggan untuk digunakan dalam permintaan API berikutnya.

Dapatkan keizinan

Pelanggan telah dibuat dan memperoleh URI ubah hala keizinan Sekarang kita perlu menghantar permintaan kepada URI untuk mendapatkan kebenaran. Selepas itu, Pasport akan menjana token akses untuk pelanggan dan mengembalikannya kepada pelanggan. Gunakan URL yang ditunjukkan di bawah, menggantikan ID Pelanggan dan Ubah Hala URI:

http://your-app.com/oauth/authorize?client_id={client-id}&redirect_uri={redirect-uri} &response_type=code&scope=

Selepas memasukkan URL, skrin kebenaran OAuth2 yang ditunjukkan di bawah akan dipaparkan:

Pengenalan terperinci kepada proses, konfigurasi dan penggunaan Pasport Laravel

Selepas mengklik butang 'Betulkan', kebenaran akan berlaku dan mengubah hala ke URI ubah hala.

Dapatkan Token Akses

Kini kami telah mendapat kebenaran dan pelanggan telah diberikan akses kepada API. Kita perlu menggunakan kod kebenaran OAuth2 untuk menukar kunci klien untuk token akses Kita boleh menggunakan arahan curl seperti yang ditunjukkan di bawah untuk mendapatkan token akses daripada pelayan kebenaran API:

$ curl -X POST -H "Accept: application/json" -F "client_id={client-id}" -F "client_secret={client-secret}" -F "grant_type=authorization_code" -F "code={code}" -F "redirect_uri={redirect-uri}" http://your-app.com/oauth/token

Selepas melaksanakan. arahan di atas, Anda akan mendapat objek JSON seperti yang ditunjukkan di bawah, yang mengandungi maklumat seperti access_token dan refresh_token:

{
    "token_type": "Bearer",
    "expires_in": 86400,
    "access_token": "{access-token}",
    "refresh_token": "{refresh-token}",
}

Menggunakan token akses untuk membuat permintaan API

Sekarang kami telah memperoleh token akses, kami Token akses boleh digunakan untuk membuat permintaan dengan API. Kami perlu menambah pengepala Kebenaran pada pengepala permintaan API, menetapkan skema pengesahan Pembawa dan menggunakan token akses sebagai kandungan token, seperti yang ditunjukkan di bawah:

$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'http://your-app.com/api/user', [
    'headers' => [
        'Authorization' => 'Bearer '.$accessToken,
        'Accept' => 'application/json',
    ],
]);

Dalam kod di atas, kami akan The token akses diserahkan kepada pelayan API dalam format TOKEN Pembawa untuk pengesahan Jika berjaya, keputusan respons API akan diperolehi.

Ringkasan

Dalam artikel ini, kami menerangkan proses, konfigurasi dan penggunaan Pasport Laravel. Menggunakan Pasport Laravel, kami boleh menambah pengesahan dan keizinan selamat dengan cepat pada aplikasi API, sambil menyokong protokol OAuth2 dan saling beroperasi dengan aplikasi yang melaksanakan kebenaran OAuth2 dalam bahasa pengaturcaraan dan rangka kerja lain, membolehkan pembangun membina keselamatan dengan cepat Tinggi, mudah untuk- menggunakan aplikasi API.

Atas ialah kandungan terperinci Pengenalan terperinci kepada proses, konfigurasi dan penggunaan 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
Beyond the Zoom Call: Strategi Kreatif untuk Menghubungkan Pasukan TeragihBeyond the Zoom Call: Strategi Kreatif untuk Menghubungkan Pasukan TeragihApr 26, 2025 am 12:24 AM

Toenhanceengagementandcohesionamongdistributedteamsbeyondzoom, pelaksanaanTheseStregies: 1) Organizirtualcoffeebreaksforinformalchats, 2) Useasynchronoustoolslikeslackfornon-workdiscussions, 3) identgamificoWithteamgames

Apakah perubahan pecah dalam versi Laravel terkini?Apakah perubahan pecah dalam versi Laravel terkini?Apr 26, 2025 am 12:23 AM

Laravel10introducesseveralbreakingchanges: 1) itrequiresphp8.1orhigher, 2) therouteserviceProvidernowuseSabootmethforloadingRoutes, 3) thewithTimeStamps () methodeNeloquentRelationShipsisdePrecated, dan 4)

Paradoks Produktiviti: Mengekalkan Fokus dan Motivasi dalam Tetapan JauhParadoks Produktiviti: Mengekalkan Fokus dan Motivasi dalam Tetapan JauhApr 26, 2025 am 12:17 AM

TomaintainfocusandmotivationInremotework, createAstructureDenvironment, managedigitaldistractions, fostermotivationthroughsocialIntionsandgoalsetting, containstwork-lifebalance, anduseapproprateetechnology.1) SetupadedicationWorksPaceAndSticktoaroutine.

Membina Kepercayaan Dari Afar: Memupuk Kerjasama dalam Persekitaran TeragihMembina Kepercayaan Dari Afar: Memupuk Kerjasama dalam Persekitaran TeragihApr 26, 2025 am 12:13 AM

TofostercollaborationandTrustinremoteteams, ExplectionTheSestrated: 1) menubuhkan, StructuredCommunicationWithPersonalCheck-ins, 2) useCollaborativeToolSfortransparency, 3) pengiktirafan dan 4) fosteracultureoftrustandadaptability.

Apakah ciri -ciri utama versi Laravel terkini?Apakah ciri -ciri utama versi Laravel terkini?Apr 26, 2025 am 12:01 AM

Versi terbaru dari ciri -ciri utama Laravel termasuk: 1. Ciri -ciri ini meningkatkan kecekapan pembangunan dan prestasi aplikasi, tetapi perlu digunakan dengan berhati -hati untuk mengelakkan masalah yang berpotensi.

Ilusi kemasukan: menangani pengasingan dan kesepian dalam kerja terpencilIlusi kemasukan: menangani pengasingan dan kesepian dalam kerja terpencilApr 25, 2025 am 12:28 AM

Tocombatisolationandlonelinessinremotework, companesshouldimplementregular, articlefulinteractions, provideequalgrowthopposities, andusetechnologyefectively.1) FostergenuineconnectionnectionThoughvoughvirtualcoffeebreaksandpersonalusharing.2) Ensureremorsharing

Laravel untuk pembangunan penuh: panduan komprehensifLaravel untuk pembangunan penuh: panduan komprehensifApr 25, 2025 am 12:27 AM

Laravelispopularforfull-stackdevelopmentbeCausofersaseamlessblendofbackendpowerandfrontendflexibility.1) ITSBackendCapabilities, likeeloquentorm, SimplifyDatabaseIntions.2) thebladetemplatingengineAllowsforclean, dynamichtmltes.3)

Pertunjukan Persidangan Video: Memilih platform yang sesuai untuk mesyuarat jauhPertunjukan Persidangan Video: Memilih platform yang sesuai untuk mesyuarat jauhApr 25, 2025 am 12:26 AM

Faktor utama dalam memilih platform persidangan video termasuk antara muka pengguna, keselamatan, dan fungsi. 1) Antara muka pengguna harus intuitif, seperti zoom. 2) Keselamatan perlu diberi perhatian, dan pasukan Microsoft menyediakan penyulitan akhir-ke-akhir. 3) Fungsi perlu memadankan keperluan, GoogLemeet sesuai untuk mesyuarat pendek, dan Ciscowebex menyediakan alat kerjasama lanjutan.

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

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini