Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP dan OAuth: Melaksanakan penyepaduan log masuk Instagram

PHP dan OAuth: Melaksanakan penyepaduan log masuk Instagram

PHPz
PHPzasal
2023-07-28 11:57:061125semak imbas

PHP dan OAuth: Melaksanakan Integrasi Log Masuk Instagram

OAuth ialah standard terbuka untuk kebenaran dan pengesahan, yang membolehkan pengguna membenarkan aplikasi pihak ketiga dengan selamat untuk mengakses sumber dilindungi mereka tanpa memberikan bukti kelayakan log masuk mereka seperti nama pengguna dan kata laluan). Dalam artikel ini, kita akan belajar cara melaksanakan penyepaduan log masuk Instagram menggunakan PHP dan OAuth.

Langkah Pertama: Buat Apl Instagram
Untuk menggunakan ciri OAuth Instagram, kita perlu mencipta apl Instagram terlebih dahulu. Pada halaman pembangun Instagram (https://www.instagram.com/developer/), klik butang "Daftar Apl" untuk mencipta apl baharu. Semasa proses penciptaan, anda akan diberikan ID pelanggan dan rahsia pelanggan, yang akan digunakan dalam langkah seterusnya.

Langkah 2: Pasang pustaka OAuth
Dalam PHP, kami boleh menggunakan perpustakaan OAuth pihak ketiga untuk memudahkan proses kebenaran OAuth. Pustaka yang popular ialah thephpleague/oauth2-client. Anda boleh memasangnya melalui Komposer, jalankan arahan berikut: thephpleague/oauth2-client。您可以通过Composer安装它,运行以下命令:

composer require league/oauth2-client

第三步:编写PHP代码
在开始编写代码之前,请确保您已经创建了一个新的PHP文件,并引入了OAuth库:

require "vendor/autoload.php";

use LeagueOAuth2ClientProviderInstagram;

接下来,我们将创建一个Instagram对象,并使用之前获得的客户端ID和密钥来进行实例化:

$provider = new Instagram([
    'clientId' => 'YOUR_CLIENT_ID',
    'clientSecret' => 'YOUR_CLIENT_SECRET',
    'redirectUri' => 'YOUR_REDIRECT_URI'
]);

在上述代码中,将YOUR_CLIENT_IDYOUR_CLIENT_SECRETYOUR_REDIRECT_URI

$authorizationUrl = $provider->getAuthorizationUrl();
echo "<a href='$authorizationUrl'>Login with Instagram</a>";

Langkah Tiga: Tulis Kod PHP

Sebelum anda mula menulis kod, pastikan anda telah mencipta fail PHP baharu dan memperkenalkan perpustakaan OAuth:

$code = $_GET['code'];
$accessToken = $provider->getAccessToken('authorization_code', [
    'code' => $code
]);

Teruskan Seterusnya, kami akan mencipta objek Instagram dan membuat instantiat menggunakan ID pelanggan dan kunci yang diperoleh sebelum ini:

$user = $provider->getResourceOwner($accessToken);
$userId = $user->getId();
$username = $user->getUsername();

Dalam kod di atas, gantikan YOUR_CLIENT_ID, YOUR_CLIENT_SECRET dan YOUR_REDIRECT_URI code> digantikan masing-masing dengan ID pelanggan, rahsia pelanggan dan URI hala semula yang anda perolehi pada langkah pertama.

Kini kami akan membuat pautan log masuk yang boleh diklik oleh pengguna untuk log masuk ke Instagram:

echo "User ID: $userId<br>";
echo "Username: $username";

Kod ini akan menjana pautan HTML dengan URL kebenaran yang betul.

Apabila pengguna melengkapkan pengesahan dan kebenaran, Instagram akan mengubah hala pengguna ke URI ubah hala yang ditetapkan dan memasukkan kod kebenaran. Kita perlu mendapatkan kod kebenaran ini untuk kegunaan seterusnya:

rrreee

Kod ini mendapat kod kebenaran daripada rentetan pertanyaan URL panggil balik dan menggunakannya untuk mendapatkan token akses.

Kini kami boleh menggunakan token akses untuk meminta maklumat peribadi pengguna. Sebagai contoh, kita boleh mendapatkan ID pengguna dan nama pengguna:

rrreee

Kod ini akan mendapatkan semula sumber pengguna melalui token akses dan mendapatkan ID pengguna dan nama pengguna.

Akhir sekali, kami boleh memaparkan maklumat peribadi pengguna dengan menggunakan ID pengguna dan nama pengguna yang diperoleh:

rrreee

Pada ketika ini, kami telah berjaya melaksanakan penyepaduan log masuk Instagram. Pengguna kini boleh log masuk menggunakan akaun Instagram mereka, dan kami boleh mendapatkan maklumat peribadi pengguna yang dibenarkan daripada API Instagram. 🎜🎜Ringkasan🎜Dengan menggunakan pustaka PHP dan OAuth, kami boleh melaksanakan penyepaduan log masuk Instagram dengan mudah. Mula-mula, kita perlu mencipta aplikasi pada halaman pembangun Instagram dan mendapatkan ID pelanggan dan rahsia pelanggan. Kami kemudian menggunakan perpustakaan OAuth untuk mengendalikan proses kebenaran, serta mendapatkan token akses dan sumber pengguna. Akhir sekali, kami menggunakan maklumat pengguna yang diperoleh untuk melengkapkan penyepaduan. 🎜🎜Semoga artikel ini dapat membantu anda melaksanakan penyepaduan log masuk Instagram dan meningkatkan fungsi aplikasi dan pengalaman pengguna anda. Saya doakan anda berjaya! 🎜

Atas ialah kandungan terperinci PHP dan OAuth: Melaksanakan penyepaduan log masuk Instagram. 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