Я пишу приложение, которое взаимодействует с Spotify Web API через запросы AJAX.
Я могу сделать это двумя способами.
Я могу использовать прямой (HTTPS?) Запрос GET или POST к конечной точке Spotify следующим образом:
$.ajax({
url: `https://api.spotify.com/v1/search?q=track:hysteria&type=track`,
method: "GET",
async: true,
success: function(successData){
console.log(successData);
}
});
Или я могу вызвать файл .php с помощью php-оболочки для связи с Spotify:
query="hysteria";
$.ajax({
url: 'getSong.php',
type: 'POST',
data: {data:query},
async: true,
success: function(successData) {
console.log(JSON.Parse(successData))
}
})
getSong.php
<?php
session_start();
require '../vendor/autoload.php';
//Create new spotify session and take accesstoken from session.
$api = new SpotifyWebAPI\SpotifyWebAPI();
$accessToken = $_SESSION["accessToken"];
$api->setAccessToken($accessToken);
$query=$_POST['data'];
$results = $api->search($query, 'track');
echo json.encode($results)
?>
Я знаю, что метод PHP требует больше строк кода и использования поставщика для доступа к оболочке Spotify PHP. Из моих примеров видно, что прямой HTTPS-метод более прост.
Что я хочу знать, так это то, есть ли какая-либо польза от безопасности при использовании PHP-оболочек для операций API, таких как этот пример. Почему они используются вместо простых запросов AJAX?
Для более сложных запросов мне всегда нужно было бы проходить аутентификацию в Spotify и получать токены при использовании прямого HTTP-запроса. Я пытаюсь разобраться в коде на стороне клиента и на стороне сервера, когда дело доходит до аутентификации, поскольку я не хочу, чтобы мое приложение вызывало какие-либо проблемы с безопасностью для пользователей.