Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan pengesahan OAuth dalam PHP
Protokol pengesahan OAuth telah menjadi semakin popular sejak beberapa tahun kebelakangan ini apabila semakin banyak aplikasi mula menyokong log masuk pihak ketiga. Pelaksanaan OAuth membolehkan aplikasi pihak ketiga mendapatkan kebenaran pengguna daripada aplikasi lain tanpa mengetahui kata laluan pengguna. PHP, sebagai bahasa pengaturcaraan bahagian pelayan yang digunakan secara meluas, juga menyokong pengesahan OAuth. Artikel ini akan memperkenalkan anda kepada cara menggunakan perpustakaan OAuth PHP untuk melaksanakan pengesahan OAuth.
Apakah itu OAuth?
OAuth ialah protokol standard kebenaran Ia adalah protokol terbuka dan selamat yang membenarkan aplikasi mengakses API atau data aplikasi lain dengan kebenaran pengguna tanpa mendedahkan kata laluan. Ia digunakan terutamanya untuk membenarkan pengguna membenarkan aplikasi pihak ketiga mengakses data pengguna aplikasi lain tanpa memberikan nama pengguna dan kata laluan kepada aplikasi pihak ketiga.
Proses asas pengesahan OAuth:
Proses kebenaran OAuth 2.0 ialah proses berdasarkan akses yang dibenarkan. Proses asasnya adalah seperti berikut:
Gunakan perpustakaan OAuth PHP untuk melaksanakan pengesahan OAuth
Pertama sekali, anda perlu memahami konsep asas dan penggunaan perpustakaan sambungan OAuth PHP Perpustakaan sambungan OAuth PHP menyediakan a pelaksanaan langsung protokol OAuth Ia menggunakan spesifikasi OAuth versi 1.0a dan 2.0. Pustaka sambungan PHP OAuth perlu dipasang pada pelayan anda PHP OAuth dan OAuth 2.0 bukanlah perkara yang sama, jadi anda perlu memasang dua versi pustaka yang berbeza.
Berikut ialah langkah untuk melaksanakan pengesahan OAuth dalam PHP menggunakan pustaka OAuth:
Langkah 1: Pasang pustaka sambungan OAuth PHP
Pertama sekali, anda perlu menyemak sama ada anda pelayan telah Pasang pustaka sambungan PHP OAuth. Jika sudah dipasang, langkau langkah ini. Jika ia tidak dipasang, sila ikuti langkah di bawah untuk memasangnya:
Pasang terus menggunakan arahan (kebenaran root diperlukan):
sudo apt-get install php -oauth
Jika anda mahu memasangnya secara manual, sila ikut langkah berikut:
Laksanakan arahan berikut:
phpize
Konfigurasi:
./configure
Kompil dan pasang:
buat && sudo make install
Langkah 2: Sediakan maklumat aplikasi untuk OAuth
Untuk menggunakan pengesahan OAuth, anda perlu mendaftarkan permohonan anda dengan pembekal OAuth dan mendapatkan bukti kelayakan anda. Setiap pembekal OAuth mempunyai proses pendaftaran aplikasinya yang khusus dan anda perlu mengikut panduan mereka untuk melengkapkan proses pendaftaran. Selepas anda berjaya mendaftar dan mendapatkan kelayakan anda, anda akan mendapat maklumat berikut:
Langkah 3: Sambungkan kepada pembekal OAuth menggunakan bukti kelayakan OAuth
Untuk menyambung kepada pembekal OAuth dan membuat permintaan kepadanya Untuk memberi kebenaran, sila ikut langkah di bawah:
Buat objek OAuth:
$oauth = new OAuth(
'your client id', //客户端ID 'your client secret', //客户端密钥 OAUTH_SIG_METHOD_HMACSHA1, //签名方法 OAUTH_AUTH_TYPE_AUTHORIZATION //认证类型
);
Tetapkan keizinan dan titik akhir token untuk pembekal OAuth:
$oauth->setAuthType(OAUTH_AUTH_TYPE_AUTHORIZATION);
$oauth->setRequestTokenUrl('https:// provider.com oauth/request_token');
$oauth->setAccessTokenUrl('https://provider.com/oauth/access_token');
$oauth->setAuthUrl('https:// provider.com/ oauth/authorize');
Dapatkan token permintaan:
$oauth->getRequestToken('https://provider.com/oauth /request_token', 'url panggilan balik');
Langkah 4: Gunakan token kebenaran OAuth
Selepas mendapatkan token permintaan, anda perlu menggunakan token kebenaran untuk mengakses sumber yang dilindungi pembekal OAuth. Untuk menggunakan token kebenaran, anda perlu menghantarnya kepada pembekal OAuth dan meminta token akses. Selepas mendapatkan token akses, anda boleh mengakses sumber yang memanggil API yang dilindungi.
Kod sampel berikut menunjukkan cara menggunakan token kebenaran untuk mengakses API yang dilindungi.
Buat objek OAuth:
$oauth = new OAuth(
'your client id', //客户端ID 'your client secret', //客户端密钥 OAUTH_SIG_METHOD_HMACSHA1, //签名方法 OAUTH_AUTH_TYPE_AUTHORIZATION //认证类型
);
tetapan Keizinan dan titik akhir token untuk pembekal OAuth:
$oauth->setAuthType(OAUTH_AUTH_TYPE_AUTHORIZATION);
$oauth->setRequestTokenUrl('https://provider.com/oauth/request');<_token> $oauth->setAccessTokenUrl('https://provider.com/oauth/access_token');
$oauth->setAuthUrl('https://provider.com/oauth/authorize' );
Pengesahan OAuth ialah standard kebenaran popular yang membolehkan aplikasi meminta data pengguna dengan selamat daripada aplikasi lain tanpa mendedahkan kata laluan. Pustaka sambungan OAuth PHP menyediakan pelaksanaan langsung protokol OAuth, jadi kami boleh melaksanakan pengesahan OAuth dalam PHP dengan mudah. Dengan menggunakan pengesahan OAuth, kami boleh memastikan bahawa data pengguna adalah selamat dan tidak terdedah kepada penyalahgunaan.
Atas ialah kandungan terperinci Cara menggunakan pengesahan OAuth dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!