Заголовок OPTIONS при авторизации через JWT

279
08 июня 2017, 06:16

Делаю два сервиса. Один - фронт на Angular 2. Второй - бэк на Spring. Авторизация сделана через JWT.

Проблема в том, что при отправке запроса на бэк через postman все работает. Но вот при отправке запроса через Angular 2 возникает проблема с методом OPTIONS. Spring видит, что это не POST и почему-то не читает тело запроса.

Запрос из angular:

login(username: string, password: string): Observable<any> {
    console.log(JSON.stringify({username, password}));
    let headers = new Headers();
    headers.append("Content-Type", "application/json; charset=utf8");

    return this.http.post(`${this.url}/login`, JSON.stringify({username, password}), {headers: headers, withCredentials: true})
        .map((response: Response) => {
            let token = response.json().id_token;
            if (token) {
                localStorage.setItem('id_token', response.json().id_token);
                return true;
            } else {
                return false;
            }
        });
}

Проверил - данные в теле запроса от angular уходят. В чем может быть дело и самое главное - как это поправить ?

Answer 1

В случае кросс-доменных запросов если заголовок Content-Type отличается от application/x-www-form-urlencoded, multipart/form-data или text/plain, то посылается предзапрос (preflight request). Его шлет сам браузер, а не Angular. Так что можно либо изменить Content-Type, либо не использовать кросс-доменных запросы удалив 'http://' из 'this.url', либо настроить spring чтобы он корректно обрабатывал preflight request.

READ ALSO
Помогите разобраться с JList

Помогите разобраться с JList

Создал компонент Jlist и создаю таблицу для БД, заношу значение для БД в списокВсё работает, но проблема в том что когда я, к примеру, возвращаюсь...

244
Как реализовать подсветку обьекта в Swing?

Как реализовать подсветку обьекта в Swing?

Доброго времени сутокЕсть задание схематически отобразить человеческую фигуру руки ноги голова и тд

312
Коллизии в map java

Коллизии в map java

Подскажите пожалуйста, как реализуются коллизии в map java и чем отличаются реализации этих коллизий (массивы и LinkedList)?

392