sharomet
Новичок
Всем привет.
Для backend я использую - laravel
Для frontend - angular 5
База данных - mongodb.
Я столкнулся с такой проблемой:
Ни как не могу передать токен csrf в angular.
Нашел статью в которой сказано что token нужно передавать через router
В angular нужно отлавливать этот запрос и отправлять в заголовках обратно вместе с post запросом
Я думаю что это не правильно.
В итоге возвращяется ошибка с неправельным token.
OST http://localhost:8000/api/user 419 (unknown status)
core.js:1598 ERROR HttpErrorResponse {headers: HttpHeaders, status: 419, statusText: "unknown status", url: "http://localhost:8000/api/user", ok: false, …}
Как можно это исправить? Спасибо.
Для backend я использую - laravel
Для frontend - angular 5
База данных - mongodb.
Я столкнулся с такой проблемой:
Ни как не могу передать токен csrf в angular.
Нашел статью в которой сказано что token нужно передавать через router
Код:
Route::get('/api/csrf', function() {
return response()->json(Session::token());
});
Код:
constructor(private http: HttpClient) {
this.getToken();//Вызываем метод для получения token
}
getToken() {
return this.http.get(this.tokenUrl).subscribe(res => {
this.token = res; //помещяем полученый token в переиенную token
});
}
public addUser(user: User) {
let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Content-Type', 'application/json');
headers = headers.append('XSRF-TOKEN', this.token);//Помещяем token в заголовок
return this.http.post<User>(this.apiAddUser, user, {headers: headers}).pipe(
catchError(this.handleError)
);
}
В итоге возвращяется ошибка с неправельным token.
OST http://localhost:8000/api/user 419 (unknown status)
core.js:1598 ERROR HttpErrorResponse {headers: HttpHeaders, status: 419, statusText: "unknown status", url: "http://localhost:8000/api/user", ok: false, …}
Как можно это исправить? Спасибо.
Последнее редактирование: