Мне нужно установить значение моей службы, которая обеспечивает токен csrf во время выполнения. Как мне это сделать? Вот моя попытка, но я вижу, что заголовок X-XSRF-TOKEN
является объектом в заголовке при входе в систему. Я думаю, что значение csrf_service не будет получено на фабрике аутентификации.Как создать фабрику, значение которой установлено во время выполнения, и ее можно получить во время выполнения в AngularJS
app.factory('csrfService', function(){
this.csrf_token = null;
return {
setToken: function(value){
this.csrf_token = value;
},
getToken: function(){
return this.csrf_token;
}
};
});
И я впрыснуть его
app.run(function(csrfService){
$http.get("api/auth/csrf_token").then(function(response) {
csrfService.setToken(response);
});
});
И я получить его
app.factory('Authentication', function(csrfService){
return {
login: function(){
$http.post("api/auth/login", {
userName: userName,
password: password
}, {headers:{'X-XSRF-TOKEN': csrfService.getToken()}})
.then(function(result) {}
}
};
});
не вводят в виде строки в 'run' ... не так бросая ошибку? – charlietfl
К сожалению, это была опечатка на почте, а не в моем коде. –
Я создал следующий плункер, который работает http://plnkr.co/edit/8hPZ72GXcoh7TWEu1BZ9?p=preview –