Crockosha
@Crockosha

Почему не помогает credentials: 'include'?

Здравствуйте!

Вот функция авторизации на сервере:

const doLogin = () => {
        setLoading(true);
        const request = fetch(baseURL+'/users/authentication/email/', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json; charset=utf-8'
            },
            body: JSON.stringify({ email, password, device: {
                name: 'PC'} })
        });

        request
            .then(response => {console.log(response.headers); return response.json()})
            .then(json => {
                setLoading(false);
                if (json.error) {
                    setAuthError({ isError: true, errorMsg: json.error.message })
                } else {
                    dispatch(setAuthenticated(true));
                    dispatch(setAuthData({
                        userEmail: email,
                        userPassword: password
                    }))
                    history.push('/groups');
                }
            });
    }


С сервера нормально прилетает jwt-токен, далее запрашиваем данные:

const searchClicked = () => {
        fetch(baseURL + '/users/' + searchEmail, {
            method: 'GET',
            credentials: 'include'
        })
            .then(response => response.json())
            .then(json => console.log(json))
    }


и получаем в ответ 401 (Unauthorized).

Что не так?
  • Вопрос задан
  • 1912 просмотров
Пригласить эксперта
Ответы на вопрос 1
nuykon
@nuykon
Full Stack Developer
credentials: 'include' - это про передачу кук и авторизационных заголовков, а у вас jwt-токен, который вам надо руками добавить в заголовки всех последующих запросов:
Authorization: Bearer your-jwt-token
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы