Rumah pembangunan bahagian belakang tutorial php Pembangunan PHP: Melaksanakan pembekal perkhidmatan OAuth2 menggunakan Pasport Laravel

Pembangunan PHP: Melaksanakan pembekal perkhidmatan OAuth2 menggunakan Pasport Laravel

Jun 15, 2023 pm 04:32 PM
php laravel oauth

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.

  1. Pengenalan kepada Laravel Passport

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.

  1. Asas 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:

  • Pelanggan: Aplikasi yang perlu mengakses sumber (seperti fail) pada pelayan sumber.
  • Pemilik Sumber: Pengguna yang boleh memberi kebenaran kepada pelanggan untuk mengakses sumber mereka.
  • Pelayan kebenaran: Pelayan kebenaran mengesahkan klien dan mengeluarkan token akses kepada klien jika pengesahan berjaya.
  • Pelayan Sumber: Pelayan yang menyediakan sumber yang dilindungi kepada pelanggan.

Spesifikasi OAuth2 mentakrifkan beberapa jenis kebenaran untuk pembangun dan jenis kebenaran ini mempunyai senario penggunaan yang berbeza, seperti:

  • Kod kebenaran: jenis kebenaran yang paling biasa digunakan, Menggunakan jenis pemberian kod kebenaran, klien mengubah hala pengguna ke pelayan kebenaran, pelayan kebenaran mengembalikan kod kebenaran dan klien menggunakan kod kebenaran untuk meminta token akses.
  • Keizinan tersirat: digunakan untuk menyediakan token akses kepada klien penyemak imbas tanpa melibatkan sebarang penghantaran kod kebenaran antara pelayan, apabila token diletakkan terus dalam bar alamat klien penyemak imbas .
  • Keizinan pelanggan: digunakan untuk membenarkan klien mengakses pelayan sumber Pada masa ini, pelayan kebenaran tidak memerlukan penyertaan pengguna.
  1. Laravel Passport melaksanakan pembekal perkhidmatan OAuth2

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
Salin selepas log masuk

Selepas memasang Laravel Pasport kami Anda perlu menjalankan perintah untuk pemindahan pangkalan data:

php artisan migrate
Salin selepas log masuk

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
Salin selepas log masuk

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,
    ],
],
Salin selepas log masuk

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
Salin selepas log masuk

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');
Salin selepas log masuk

Laluan ini menggunakan perisian tengah auth:api, yang akan menyemak token akses dan menetapkan permintaan kepada pengguna.

  1. Uji OAuth2 menggunakan Posmen

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}
Salin selepas log masuk

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.

  1. Ringkasan

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!

Kenyataan Laman Web ini
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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah pemalsuan permintaan lintas tapak (CSRF) dan bagaimana anda melaksanakan perlindungan CSRF di PHP? Apakah pemalsuan permintaan lintas tapak (CSRF) dan bagaimana anda melaksanakan perlindungan CSRF di PHP? Apr 07, 2025 am 12:02 AM

Dalam PHP, anda boleh mencegah serangan CSRF dengan menggunakan token yang tidak dapat diramalkan. Kaedah khusus termasuk: 1. Menjana dan membenamkan token CSRF dalam bentuk; 2. Sahkan kesahihan token semasa memproses permintaan.

Terangkan jenis yang ketat (mengisytiharkan (strict_types = 1);) dalam php. Terangkan jenis yang ketat (mengisytiharkan (strict_types = 1);) dalam php. Apr 07, 2025 am 12:05 AM

Jenis yang ketat dalam PHP didayakan dengan menambah mengisytiharkan (strict_types = 1); di bahagian atas fail. 1) Ia memaksa jenis pemeriksaan parameter fungsi dan pulangan nilai untuk mengelakkan penukaran jenis tersirat. 2) Menggunakan jenis yang ketat dapat meningkatkan kebolehpercayaan dan kebolehprediksi kod, mengurangkan pepijat, dan meningkatkan kebolehkerjaan dan kebolehbacaan.

Bagaimanakah anda dapat mengelakkan kelas daripada dilanjutkan atau kaedah yang ditindas dalam PHP? (kata kunci akhir) Bagaimanakah anda dapat mengelakkan kelas daripada dilanjutkan atau kaedah yang ditindas dalam PHP? (kata kunci akhir) Apr 08, 2025 am 12:03 AM

Dalam PHP, kata kunci akhir digunakan untuk mencegah kelas daripada diwarisi dan kaedah ditimpa. 1) Apabila menandakan kelas sebagai muktamad, kelas tidak boleh diwarisi. 2) Apabila menandakan kaedah sebagai muktamad, kaedah itu tidak boleh ditulis semula oleh subkelas. Menggunakan kata kunci akhir memastikan kestabilan dan keselamatan kod anda.

Laravel fasih orm dalam carian model separa Bangla) Laravel fasih orm dalam carian model separa Bangla) Apr 08, 2025 pm 02:06 PM

Pengambilan Model Laraveleloquent: Mudah mendapatkan data pangkalan data Eloquentorm menyediakan cara ringkas dan mudah difahami untuk mengendalikan pangkalan data. Artikel ini akan memperkenalkan pelbagai teknik carian model fasih secara terperinci untuk membantu anda mendapatkan data dari pangkalan data dengan cekap. 1. Dapatkan semua rekod. Gunakan kaedah semua () untuk mendapatkan semua rekod dalam jadual pangkalan data: USEAPP \ MODELS \ POST; $ POSTS = POST :: SEMUA (); Ini akan mengembalikan koleksi. Anda boleh mengakses data menggunakan gelung foreach atau kaedah pengumpulan lain: foreach ($ postsas $ post) {echo $ post->

Masa Depan PHP: Adaptasi dan Inovasi Masa Depan PHP: Adaptasi dan Inovasi Apr 11, 2025 am 12:01 AM

Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.

Geospatial Laravel: Pengoptimuman peta interaktif dan sejumlah besar data Geospatial Laravel: Pengoptimuman peta interaktif dan sejumlah besar data Apr 08, 2025 pm 12:24 PM

Cecair memproses 7 juta rekod dan membuat peta interaktif dengan teknologi geospatial. Artikel ini meneroka cara memproses lebih dari 7 juta rekod menggunakan Laravel dan MySQL dan mengubahnya menjadi visualisasi peta interaktif. Keperluan Projek Cabaran Awal: Ekstrak Wawasan berharga menggunakan 7 juta rekod dalam pangkalan data MySQL. Ramai orang mula -mula mempertimbangkan bahasa pengaturcaraan, tetapi mengabaikan pangkalan data itu sendiri: Bolehkah ia memenuhi keperluan? Adakah penghijrahan data atau pelarasan struktur diperlukan? Bolehkah MySQL menahan beban data yang besar? Analisis awal: Penapis utama dan sifat perlu dikenalpasti. Selepas analisis, didapati bahawa hanya beberapa atribut yang berkaitan dengan penyelesaiannya. Kami mengesahkan kemungkinan penapis dan menetapkan beberapa sekatan untuk mengoptimumkan carian. Carian Peta Berdasarkan Bandar

PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular Apr 14, 2025 am 12:13 AM

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

PHP vs Python: Memahami Perbezaan PHP vs Python: Memahami Perbezaan Apr 11, 2025 am 12:15 AM

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.

See all articles