У меня возникают проблемы с аутентификацией с использованием API github с моим приложением, поддерживающим реакцию. Ниже мой конфиг, который я использую для axios.
export const AxiosConfig = {
headers: {
Accept: "application/vnd.github.v3+json"
},
auth: {
username: "myusername",
password: "myauthtoken"
}
};
Вот код для вызова axios.
const URL = `${BASE_USER_URL}/following/${user}`;
console.info(URL);
const newConfig = AxiosConfig;
newConfig["headers"]["Content-Length"] = "0";
await axios
.put(URL, newConfig)
.then(response => {
console.info("Followed User");
})
.catch(error => {
console.info("Could not follow user");
console.info(error.response.data);
Alert.alert(
"Error Trying to Follow User",
`Could not follow user ${user}`,
[{ text: "OK", onPress: () => console.info("OK Pressed") }],
{ cancelable: true }
);
return;
});
Я получаю следующее возвращено
{ "documentation_url": "https://developer.github.com/v3/users/followers
v3/users/followers/#follow-a-user",
"message": "Requires authentication",
}
Но когда я запускаю тот же код с .get вместо .put, я получаю информацию обратно из вызова get (который также требует аутентификации)
В почтальоне, когда я вызываю тот же URL-адрес и использую пользовательский интерфейс авторизации в почтальоне для установки имени пользователя / пароля, вызов работает нормально.
В чем проблема моего вызова Axios в том, что он отличается от моего почтальона?





Это была проблема с axios.put. Чтобы решить, я сделал следующее
axios({
method: "put",
url: URL,
headers: {
Authorization: "Bearer <token>"
}
})