Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan sambungan OAuth PHP?

Bagaimana untuk menggunakan sambungan OAuth PHP?

王林
王林asal
2023-06-01 08:55:35681semak imbas

PHP ialah bahasa pengaturcaraan sebelah pelayan yang popular. Ia boleh digunakan untuk mencipta pelbagai jenis aplikasi web, daripada laman web statik mudah kepada platform media sosial yang kompleks. Dalam aplikasi ini, OAuth (Keizinan Terbuka) ialah kaedah pengesahan biasa. Ia membolehkan pengguna log masuk dan menggunakan aplikasi melalui pembekal perkhidmatan pihak ketiga (seperti Facebook, Twitter, dll.). Dalam artikel ini, kami akan membincangkan cara melaksanakan pengesahan OAuth menggunakan sambungan OAuth PHP.

OAuth2.0 ialah versi terkini protokol OAuth. Ia menyediakan pembangun dengan pilihan yang lebih fleksibel untuk mengurus keselamatan pengguna. Sambungan OAuth untuk PHP telah menjadi salah satu sambungan PHP standard untuk OAuth 2.0. Menggunakan sambungan ini, anda boleh memanggil API OAuth pihak ketiga dengan mudah seperti Facebook atau Google.

Sambungan OAuth PHP menyediakan tiga jenis keizinan OAuth: Kod Kebenaran, Kelayakan Kata Laluan Pemilik Sumber dan Kelayakan Pelanggan. Dalam bahagian berikut, kami akan memperincikan ketiga-tiga jenis kebenaran ini dan cara menggunakannya untuk melaksanakan pengesahan OAuth2.0.

Jenis kebenaran Kod Kebenaran

Kod Kebenaran ialah jenis keizinan protokol OAuth2.0. Ia membenarkan aplikasi dengan mengubah hala pengguna ke pelayan kebenaran dan mendapatkan kod kebenaran.

Begini cara menggunakan jenis kebenaran Kod Kebenaran dalam sambungan OAuth PHP:

1 Cipta objek OAuth

Sebelum menggunakan sambungan OAuth PHP, anda perlu mencipta OAuth. objek. Anda boleh membuat objek OAuth dengan mudah dengan baris kod berikut:

$oauth = new OAuth($clientId, $clientSecret, OAUTH_SIG_METHOD_HMACSHA256, OAUTH_AUTH_TYPE_AUTHORIZATION);

di mana $clientId dan $clientSecret ialah kunci dan rahsia API yang anda perolehi daripada pembekal perkhidmatan pihak ketiga. OAUTH_SIG_METHOD_HMACSHA256 dan OAUTH_AUTH_TYPE_AUTHORIZATION ialah pemalar yang digunakan untuk mengenal pasti jenis kebenaran dan algoritma tandatangan.

2. Minta kod kebenaran

Seterusnya, anda perlu meminta kod kebenaran menggunakan objek OAuth. Anda boleh meminta kod kebenaran dengan mudah dengan baris kod berikut:

$oauth->setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
$oauth->fetch($authorizeEndpoint, array('response_type' => 'code', 'client_id' => $clientId, 'redirect_uri' => $redirectUri));

di mana $authorizeEndpoint ialah URL pelayan kebenaran, $clientId ialah kunci API aplikasi anda dan $redirectUri ialah perkara yang anda konfigurasikan dalam aplikasi anda tetapan URL panggil balik.

3. Dapatkan token akses

Sebaik sahaja anda mempunyai kod kebenaran, anda boleh mendapatkan token akses menggunakan baris kod ini:

$oauth->setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
$oauth->fetch($tokenEndpoint, array('grant_type' => 'authorization_code', 'code' => $code, 'client_id' => $clientId, 'client_secret' => $clientSecret, 'redirect_uri' => $redirectUri));

di mana $tokenEndpoint ialah token akses URL titik akhir jenama, $code ialah kod kebenaran yang diperoleh dalam langkah sebelumnya.

Jenis keizinan Kata Laluan Pemilik Sumber

Kelayakan Kata Laluan Pemilik Sumber ialah jenis kebenaran protokol OAuth2.0. Ia membolehkan anda memberikan bukti kelayakan pengguna secara langsung untuk mendapatkan token akses.

Begini cara menggunakan jenis kebenaran Kata Laluan Pemilik Sumber dalam sambungan OAuth PHP:

1 Cipta objek OAuth

Seperti yang dinyatakan di atas, mencipta objek OAuth memerlukan penggunaan. Baris kod berikut:

$oauth = new OAuth($clientId, $clientSecret, OAUTH_SIG_METHOD_HMACSHA256, OAUTH_AUTH_TYPE_AUTHORIZATION);

2. Minta token akses

Seterusnya, anda perlu meminta token akses menggunakan objek OAuth. Anda boleh meminta token akses dengan mudah dengan baris kod berikut:

$oauth->setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
$oauth->fetch($tokenEndpoint, array('grant_type' => 'password', 'username' => $username, 'password' => $password, 'client_id' => $clientId, 'client_secret' => $clientSecret));

dengan $tokenEndpoint ialah URL titik akhir untuk token akses dan $nama pengguna dan $kata laluan ialah bukti kelayakan pengguna.

Jenis keizinan Bukti Kelayakan Pelanggan

Kelayakan Pelanggan ialah jenis keizinan protokol OAuth2.0. Ia memberikan aplikasi anda akses kepada API pihak ketiga tanpa interaksi pengguna.

Begini cara menggunakan jenis kebenaran Kredensial Pelanggan dalam sambungan OAuth PHP:

1 Cipta objek OAuth

Seperti yang dinyatakan di atas, mencipta objek OAuth memerlukan penggunaan yang berikut. baris kod :

$oauth = new OAuth($clientId, $clientSecret, OAUTH_SIG_METHOD_HMACSHA256, OAUTH_AUTH_TYPE_AUTHORIZATION);

2. Minta token akses

Seterusnya, anda perlu meminta token akses menggunakan objek OAuth. Anda boleh meminta token akses dengan mudah dengan baris kod berikut:

$oauth->setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
$oauth->fetch($tokenEndpoint, array('grant_type' => 'client_credentials', 'client_id' => $clientId, 'client_secret' => $clientSecret));

di mana $tokenEndpoint ialah URL titik akhir untuk token akses dan $clientId dan $clientSecret ialah kunci API dan kata laluan aplikasi anda.

Kesimpulan

Dalam artikel ini, kami memperkenalkan sambungan OAuth PHP dan tiga jenis kebenaran protokol OAuth2.0: Kod Kebenaran, Bukti Kelayakan Kata Laluan Pemilik Sumber dan Bukti Kelayakan Pelanggan. Menggunakan jenis geran ini, anda boleh melaksanakan pengesahan OAuth dengan mudah. Harap artikel ini berguna untuk menggunakan sambungan OAuth untuk PHP.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan sambungan OAuth PHP?. 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