Для проверки пользователей session_id Фляги-Вход в для запросов внешнего интерфейса через Angular, вы должны установить флаг конфигурации withCredentials
на true
.
То есть, если вы используете Угловой-х $http.post(url,data [,config])
или $http.get(url [,config])
, убедитесь, что config
объект содержит набор свойства withCredentials
истину. Это даст указание браузеру использовать его файлы cookie таким же образом, как и при полнофункциональном посещении страницы.
Например,
$http.post('/api/login',{username:'myusername',password:'mypassword'},{withCredentials:true})
будет post
Расширенные данные {username:'myusername',password:'mypassword'}
на ваш сайт//api/login
маршрут приложения и, если вы используете колбовую Логин и войти в систему, настой будет знать.
Вы можете установить это поведение для всех$http
запросов на обслуживание установки
$httpProvider.defaults.withCredentials=true
где-то в вашем приложении. В настоящее время, у меня есть эта строка кода в моем app.config
блоке, который кажется подходящим для меня:
var myApp = angular.module('myApp');
myApp.config(function ($httpProvider) {
$httpProvider.defaults.withCredentials = true;
});
(Поскольку этот пост о Колба, люди могут посылать данные формы через Угловое таким образом, что он может можно найти в request.form
, который имеет аналогичное решение, fyi.)
Я заинтересован в этом то же самое –
«Я планирую на отправку маркер моего angularJS внешнего интерфейса, сохраняя маркер там и отправки этот маркер в авторизации-маркер заголовка» Я заинтересован в выполнении то же самое! Можете ли вы пояснить, как вы используете (d) request_loader для достижения этого? Угловая $ http автоматически использует те же файлы cookie, что и другие запросы браузера? Нужно ли нам делать «отправку маркера в мою угловую переднюю часть»? Меня беспокоит, что идентификатор сеанса может быть отправлен другим заголовком или параметром (поэтому мне может понадобиться request_loader) - но не будет ли он входить в систему в браузере по-прежнему автоматически отправлять его? –
Привет, Зак, Извините за задержанный ответ. Насколько я понимаю, на самом деле вам не нужны как пользовательские, так и поисковые загрузчики. Пользовательский загрузчик очень прост, он проверяет user_id, который присваивается сеансу, и проверяет, существует ли этот user_id в вашей пользовательской базе данных и проходит проверку подлинности. Загрузчик запросов проверяет авторизатор запроса и выполняет ту же проверку подлинности. Поэтому для большинства приложений, которые имеют какое-либо управление сеансом пользователя, вам не потребуется загрузчик запросов. Вам не придется отправлять какие-либо токены ... Фласки и угловые js управляют ими автоматически с помощью user_loader – galeej