Rumah pembangunan bahagian belakang tutorial php PHP dan OAuth: Melaksanakan Integrasi Log Masuk Facebook

PHP dan OAuth: Melaksanakan Integrasi Log Masuk Facebook

Jul 30, 2023 pm 11:03 PM
php oauth log masuk facebook

PHP dan OAuth: Melaksanakan Integrasi Log Masuk Facebook

Dalam era media sosial hari ini, hampir setiap tapak web menawarkan ciri untuk menggunakan platform pihak ketiga untuk pengesahan apabila pengguna mendaftar atau log masuk. Antaranya, Facebook, sebagai salah satu platform media sosial terbesar, menyediakan fungsi pengesahan log masuk yang berkuasa. Artikel ini akan memperkenalkan cara menyepadukan fungsi log masuk Facebook menggunakan PHP dan OAuth, dan memberikan contoh kod yang sepadan.

Pertama sekali, daftar di Platform Pembangun Facebook dan buat aplikasi. Selepas pendaftaran selesai, ID permohonan dan kunci akan diperoleh, dan maklumat ini akan digunakan dalam kod berikutnya.

Seterusnya, kita perlu menggunakan OAuth untuk mengesahkan dan membenarkan pengguna. OAuth ialah standard terbuka yang membolehkan pengguna mengakses sumber yang dilindungi melalui aplikasi pihak ketiga. Kita perlu menggunakan perpustakaan OAuth Facebook untuk penyepaduan.

Berikut ialah langkah dan contoh kod untuk melaksanakan penyepaduan log masuk Facebook menggunakan PHP dan OAuth:

Langkah 1: Pasang perpustakaan OAuth

Mula-mula, kami perlu memuat turun dan memasang pustaka PHP rasmi Facebook. Anda boleh mendapatkan perpustakaan daripada alamat berikut:

https://github.com/facebook/php-graph-sdk

Nyahzip fail yang dimuat turun dan salin folder src ke direktori projek anda.

Langkah 2: Cipta Pautan Log Masuk

Pada halaman log masuk anda, anda perlu mencipta pautan yang apabila diklik oleh pengguna akan melompat ke halaman log masuk Facebook dengan permintaan kebenaran yang sesuai.

Sila ambil perhatian bahawa anda perlu menggantikan {YOUR_APP_ID} dalam kod berikut dengan ID Apl yang anda dapat semasa anda mendaftarkan apl anda di Platform Pembangun Facebook:

<?php
$fb = new FacebookFacebook([
  'app_id' => '{YOUR_APP_ID}',
  'app_secret' => '{YOUR_APP_SECRET}',
  'default_graph_version' => 'v12.0',
]);

$helper = $fb->getRedirectLoginHelper();

$permissions = ['email']; // 请求的权限

$loginUrl = $helper->getLoginUrl('https://example.com/fb-callback.php', $permissions);

echo '<a href="' . $loginUrl . '">使用Facebook登录</a>';
?>
Salin selepas log masuk

Langkah 3: Konfigurasikan halaman panggil balik

Selepas pengguna melengkapkan log masuk Facebook Selepas itu, Facebook akan mengubah hala semula ke halaman panggil balik tapak web anda. Anda perlu mendapatkan dan mengendalikan token akses yang dikembalikan pada halaman tersebut.

Buat fail baharu yang dipanggil "fb-callback.php" dan tambahkan kod berikut di dalamnya:

<?php
$fb = new FacebookFacebook([
  'app_id' => '{YOUR_APP_ID}',
  'app_secret' => '{YOUR_APP_SECRET}',
  'default_graph_version' => 'v12.0',
]);

$helper = $fb->getRedirectLoginHelper();

try {
  $accessToken = $helper->getAccessToken();
} catch(FacebookExceptionResponseException $e) {
  // 处理异常
}

if (isset($accessToken)) {
  // 获取用户的基本信息
  $response = $fb->get('/me?fields=id,name,email', $accessToken);
  $user = $response->getGraphUser();

  // 在此处可以进行其他用户验证、注册逻辑等

  // 将用户登录状态保存到会话中
  $_SESSION['user_id'] = $user['id'];
  $_SESSION['user_name'] = $user['name'];
  $_SESSION['user_email'] = $user['email'];

  // 完成登录并重定向到您的网站
  header('Location: https://example.com');
  exit();
} else {
  // 处理访问令牌验证失败的情况
}
?>
Salin selepas log masuk

Kini pengguna boleh mengklik pada pautan log masuk dan log masuk ke laman web anda menggunakan akaun Facebook mereka. Sebaik sahaja pengguna telah log masuk, maklumat asas mereka (seperti ID, nama dan e-mel) boleh diakses.

Sila ambil perhatian bahawa anda perlu memulakan sesi sebelum menggunakan sebarang ciri sesi dan anda perlu menambah kod berikut di bahagian atas setiap halaman untuk mengakses maklumat pengguna yang dilog masuk:

<?php
session_start();

if (isset($_SESSION['user_id'])) {
  $userId = $_SESSION['user_id'];
  $userName = $_SESSION['user_name'];
  $userEmail = $_SESSION['user_email'];

  // 此处可根据需要使用用户信息进行其他操作
} else {
  // 用户未登录,执行相应操作
}
?>
Salin selepas log masuk

Semoga artikel ini membantu anda memahami cara untuk gunakan fungsi log masuk Facebook Bersepadu PHP dan OAuth. Dengan cara ini, anda boleh menyediakan pengalaman log masuk sosial yang mudah untuk tapak web anda, meningkatkan interaksi pengguna dan memudahkan untuk mengurus maklumat pengguna.

Rujukan:

  • Facebook untuk Pembangun - Bermula dengan SDK Facebook untuk PHP: https://developers.facebook.com/docs/php/gettingstarted
  • Tapak web rasmi OAuth: https://oauth.net/

Sumber berkaitan:

  • Facebook PHP SDK GitHub: https://github.com/facebook/php-graph-sdk

Atas ialah kandungan terperinci PHP dan OAuth: Melaksanakan Integrasi Log Masuk Facebook. 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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu 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)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Pembalakan CakePHP Pembalakan CakePHP Sep 10, 2024 pm 05:26 PM

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

See all articles