Может ли кто-нибудь объяснить мне, почему, когда я использую fetch и получил доступ к моему nodejs api - он авторизован, но когда я попытался использовать axios для доступа к своему api - он не авторизован.
Это код, который я использую в fetch (он взят из урока: https://medium.com/@alexanderleon/implement-social-authentication-with-react-restful-api-9b44f4714fa). Изучаю его способ аутентификации с использованием passport-facebook-token.
(клиент -> (логин fbsdk) -> fb -> (токен доступа) -> клиент -> (токен доступа) -> nodejs api -> (получить учетные данные) -> passport-fb-token -> (отправить учетные данные) -> nodejs api -> (учетные данные) -> клиент)
const tokenBlob = new Blob([JSON.stringify({access_token: response.accessToken}, null, 2)], {type : 'application/json'});
const options = {
method: 'POST',
body: tokenBlob,
mode: 'cors',
cache: 'default'
};
fetch('http://localhost:4000/api/v1/auth/facebook', options).then(r => {
const token = r.headers.get('x-auth-token');
r.json().then(user => {
if (token) {
this.setState({isAuthenticated: true, user, token})
}
});
})
Это код моего аксиоса
axios({
method: 'post',
url: 'http://localhost:4000/api/v1/auth/facebook',
headers: {
'Access-Control-Allow-Origin': '*',
},
data: {
access_token: response.access_token
}
})
.then((res) => console.log(res))
.catch((err) => console.log(err));