Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembangunan PHP: Log masuk OAuth menggunakan Laravel Socialite

Pembangunan PHP: Log masuk OAuth menggunakan Laravel Socialite

PHPz
PHPzasal
2023-06-14 17:12:48874semak imbas

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.

  1. Membuat Apl Facebook

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.

  1. Pasang 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.

  1. Mengkonfigurasi Laravel Socialite

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.

  1. Buat halaman log masuk Facebook

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.

  1. Tulis laluan panggil balik

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');
  1. Tulis pengawal panggilan balik

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.

  1. Sepadukan 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!

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