Rumah > Artikel > pembangunan bahagian belakang > PHP dan OAuth: Melaksanakan penyepaduan log masuk Instagram
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_ID
、YOUR_CLIENT_SECRET
和YOUR_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:
rrreeeKod 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.
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!