Я создаю приложение Rails, и я использую Devise для аутентификации. Когда пользователь вошел в систему Мне нужно сделать вызов AJAX для Rails и получить данные, принадлежащие текущему пользователю, как JSON. Также я не хочу, чтобы пользователи, не прошедшие проверку подлинности, и другие зарегистрированные пользователи имели доступ к ресурсам текущего пользователя.Аутентифицированный пользователь, делающий запросы AJAX для API rails из jQuery
Я использую JQuery в $ .getJSON(), чтобы сделать запрос AJAX, просто указав адрес ссылки, как это:
$.getJSON('http://localhost:3000/users/1/photos', function(data) { console.log(data); });
До сих пор authetication, кажется, работает таким же образом, он работал для HTTP поэтому пользователь может получить доступ только к своим собственным данным через AJAX.
У меня нет слишком большого опыта работы с AJAX, и я не понимаю, почему это делает вообще. Откуда мое приложение-рельс знает, что я вошел в систему, когда я делаю вызов AJAX? Я думал, что мне нужно создать дополнительный токен аутентификации и использовать его для аутентификации или установить cookie сеанса разработки при выполнении вызова AJAX.
Позже Редактировать: откуда мое приложение-рельс знает, что я вошел в систему, когда я делаю вызов AJAX?
Запрос ajax также является HTTP-запросом, и сервер не обязательно будет знать или заботиться о том, является ли запрос ajax или нет. – Musa