Rumah >pembangunan bahagian belakang >tutorial php >Laksanakan log masuk dan kebenaran pihak ketiga menggunakan PHP dan OAuth2
Dengan pembangunan berterusan dan mempopularkan Internet, semakin banyak laman web dan aplikasi akan menyediakan perkhidmatan log masuk dan kebenaran pihak ketiga untuk memudahkan pengguna mendaftar dan log masuk dengan cepat, dan juga untuk mendapatkan data pengguna dengan lebih mudah. Sebagai standard kebenaran terbuka biasa, OAuth2 digunakan secara meluas dalam log masuk pihak ketiga dan senario kebenaran.
Artikel ini akan memperkenalkan cara menggunakan PHP dan OAuth2 untuk melaksanakan log masuk dan kebenaran pihak ketiga. Kami akan menggunakan GitHub sebagai platform contoh untuk menunjukkan cara menggunakan OAuth2 untuk mendapatkan maklumat pengguna dan menyimpan maklumat ini dalam pangkalan data setempat.
Buat aplikasi OAuth pada GitHub dan merekodkan ID pelanggan dan rahsia pelanggan yang dijana untuk kegunaan seterusnya.
Untuk melaksanakan OAuth2 dalam PHP, anda boleh menggunakan pustaka klien OAuth2 pihak ketiga. Di sini kami menggunakan thephpleague/oauth2-client sebagai perpustakaan sampel.
Gunakan Komposer untuk memasang, jika anda belum memasang Komposer, sila pasang dahulu. .
Berikut ialah contoh kod untuk membina pautan kebenaran:
composer require league/oauth2-client
<?php require_once __DIR__ . '/vendor/autoload.php'; $provider = new LeagueOAuth2ClientProviderGithub([ 'clientId' => 'YOUR_CLIENT_ID', 'clientSecret' => 'YOUR_CLIENT_SECRET', 'redirectUri' => 'http://localhost:8000/callback.php', ]); $authUrl = $provider->getAuthorizationUrl([ 'scope' => ['user'], ]); header('Location: ' . $authUrl);
Sekarang kami telah memperoleh token akses, kami boleh menggunakan token akses untuk mendapatkan data pengguna. Ambil mendapatkan maklumat pengguna sebagai contoh:
<?php require_once __DIR__ . '/vendor/autoload.php'; $provider = new LeagueOAuth2ClientProviderGithub([ 'clientId' => 'YOUR_CLIENT_ID', 'clientSecret' => 'YOUR_CLIENT_SECRET', 'redirectUri' => 'http://localhost:8000/callback.php', ]); if (!isset($_GET['code'])) { die('授权失败:没有授权码!'); } else { $accessToken = $provider->getAccessToken('authorization_code', [ 'code' => $_GET['code'], ]); } echo '访问令牌:' . $accessToken->getToken();
Selepas mendapatkan data pengguna, kami boleh menyimpan data dalam pangkalan data tempatan untuk kegunaan kemudian.
Dalam artikel ini, kami memperkenalkan cara menggunakan PHP dan OAuth2 untuk melaksanakan log masuk dan kebenaran pihak ketiga. Melalui contoh mudah, kami belajar cara menggunakan perpustakaan klien OAuth2 untuk membina pautan kebenaran, mendapatkan token akses dan mendapatkan data pengguna. Semoga artikel ini bermanfaat kepada anda.
Atas ialah kandungan terperinci Laksanakan log masuk dan kebenaran pihak ketiga menggunakan PHP dan OAuth2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!