API dengan Pengesahan dalam PHP
Kita boleh menjadikan API bukan awam, tetapi persendirian, boleh diakses hanya dengan kata laluan. Dalam kes ini, apabila menghubungi API kami dalam setiap permintaan, selain parameter, kita perlu menghantar kata laluan yang betul. Kata laluan sedemikian dipanggil token.
Pengguna API kami perlu mendapatkan token ini dengan cara tertentu. Contohnya, dengan membelinya. Dalam kes ini setiap pembeli akan mempunyai token sendiri.
Mari kita lihat kerja dengan token menggunakan contoh. Katakan API kami menerima nombor sebagai parameter, dan mengembalikan kuasa dua nombor tersebut. Mari kita jadikan API ini persendirian. Mari kita mulakan pelaksanaannya.
Sebagai permulaan, untuk kesederhanaan, mari buat satu token umum dan simpan dalam bentuk terbuka dalam fail:
<?php
$token = '12345';
?>
Beginilah cara kami akan menghubungi API kami, menghantar parameter dan token:
http://api.loc/index.php?num=100&token=12345
Mari laksanakan API dengan semakan token:
<?php
$token = '12345';
if (isset($_GET['token']) and $_GET['token'] === $token) {
if (isset($_GET['num'])) {
echo $_GET['num'] ** 2;
} else {
echo 'error';
}
} else {
echo 'incorrect token';
}
?>
Buat API, yang akan menerima tarikh hari lahir sebagai parameter dan mengembalikan berapa hari lagi yang tinggal sehingga tarikh tersebut. Laksanakan pengesahan melalui token.
Ubahsuai tugas sebelumnya supaya kedua-dua parameter dan token dihantar menggunakan kaedah POST.
Ubahsuai tugas sebelumnya supaya
token dihantar melalui pengepala HTTP
X-Token.
Buat supaya token disimpan dalam pangkalan data dan setiap pengguna API mempunyai token sendiri.
Hadkan bagi setiap pengguna API
bilangan permintaan kepada 10
sehari.