Rumah > Artikel > pembangunan bahagian belakang > Pembangunan PHP: Log masuk OAuth menggunakan Laravel Socialite
Dengan populariti media sosial, banyak laman web telah mula menyediakan ciri log masuk sosial untuk pengguna mereka. Log masuk sosial membolehkan pengguna log masuk ke tapak web menggunakan akaun media sosial mereka (seperti Facebook, Twitter atau Google+) tanpa perlu membuat akaun baharu. Ini sangat memudahkan pengguna dan mengurangkan kerumitan dan pembaziran masa dalam proses pendaftaran.
Untuk melaksanakan fungsi log masuk sosial, banyak tapak web menggunakan protokol pengesahan OAuth, yang merupakan standard kebenaran pada protokol HTTP. OAuth membenarkan pengguna membenarkan aplikasi klien mengakses sumber peribadi mereka (seperti profil, gambar, dll.) yang disimpan di tapak lain tanpa memberikan nama pengguna dan kata laluan mereka kepada aplikasi klien. Jika tapak web anda ditulis dalam PHP, maka Laravel Socialite adalah pilihan yang sangat baik untuk melaksanakan fungsi log masuk sosial. Dalam artikel ini, kita akan belajar cara menggunakan Laravel Socialite untuk disepadukan dengan Facebook untuk melaksanakan log masuk OAuth.
Mula-mula, anda perlu mendaftar dalam Pembangun Facebook dan mencipta apl. Sila ambil perhatian bahawa anda perlu log masuk dengan akaun Facebook anda. Sebaik sahaja anda membuat aplikasi anda, anda akan mendapat ID aplikasi dan kunci rahsia anda. Maklumat ini akan digunakan kemudian untuk konfigurasi Laravel Socialite.
Untuk menggunakan Laravel Socialite, anda perlu menambahkannya pada fail composer.json anda dan menggunakan arahan install composer untuk memasangnya. Atau gunakan komposer memerlukan overtrue/socialite secara langsung.
Dalam fail config/services.php anda perlu menambah pilihan berikut untuk Facebook:
'facebook' => [ 'client_id' => env('FACEBOOK_CLIENT_ID'), 'client_secret' => env('FACEBOOK_CLIENT_SECRET'), 'redirect' => 'http://localhost:8000/callback/facebook', ],
Tukar FACEBOOK_CLIENT_ID dan FACEBOOK_CLIENT_SEBOOK untuk ID Aplikasi dan Rahsia yang anda buat dalam Pembangun Facebook. Selain itu, alamat ubah hala selepas kebenaran yang berjaya dinyatakan di sini.
Seterusnya, anda perlu mencipta halaman log masuk Facebook. Halaman ini harus mengandungi pautan yang akan membawa ke halaman kebenaran Facebook dan meminta kebenaran pengguna. Pautan boleh dibuat melalui:
<a href="{{ url('login/facebook') }}">使用 Facebook 登录</a>
Ini akan digunakan untuk menunjukkan kepada pengguna butang klik untuk log masuk dengan Facebook.
Setelah Facebook melengkapkan kebenaran OAuth, pengguna akan diubah hala semula ke tapak web anda dan akan memasukkan parameter kod dalam rentetan pertanyaan. Laravel Socialite memerlukan parameter kod ini untuk mendapatkan token akses. Untuk melakukan ini, anda perlu mencipta laluan panggil balik untuk Laravel Socialite:
Route::get('callback/facebook', 'AuthLoginController@handleFacebookCallback');
Apabila Facebook mengubah hala pengguna kembali ke apl anda, anda Perlu untuk mengendalikan panggilan balik kebenaran. Panggilan balik kebenaran akan memberikan anda token akses. Menggunakan Laravel Socialite, anda boleh menggunakan kod berikut dalam pengawal anda untuk mendapatkan token Facebook dan data pengesahan pengguna:
public function handleFacebookCallback() { $socialUser = Socialite::driver('facebook')->user(); dd($socialUser); }
Laravel Socialite akan mengendalikan pertukaran token untuk anda, jadi anda tidak perlu risau. $socialUser ialah objek yang mengandungi data pengesahan tentang pengguna.
Langkah terakhir ialah untuk menyepadukan pengguna dan mencipta atau mengemas kini akaun mereka dalam apl anda supaya mereka boleh log masuk ke tapak web anda menggunakan Facebook .
Dalam contoh di atas, apabila anda menggunakan dd($socialUser) untuk mencetak $user, anda akan melihat banyak data yang mengandungi butiran tentang pengguna. Jika anda ingin mengetahui lebih lanjut tentang data ini, anda boleh mencuba demo ini dalam konsol anda.
Anda boleh menggunakan data ini untuk menyemak pangkalan data anda dan menentukan sama ada pengguna telah mengaitkan akaun mereka dengan tapak anda. Jika tidak, anda boleh membuat akaun. Jika ia sudah wujud, anda boleh mengemas kini akaun.
Tapak web anda kini bersedia untuk menggunakan penyepaduan Facebook untuk log masuk OAuth.
Ringkasan
Laravel Socialite menjadikan log masuk OAuth sangat mudah. Hanya dalam beberapa langkah, anda boleh melaksanakan ciri yang membolehkan pengguna log masuk menggunakan pengesahan Facebook. Ini adalah ciri yang sangat mudah kerana ini bermakna pengguna boleh mengelakkan proses pendaftaran dan anda boleh mengembangkan pangkalan pengguna anda dengan lebih mudah.
Atas ialah kandungan terperinci Pembangunan PHP: Log masuk OAuth menggunakan Laravel Socialite. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!