Аутентификация Github API с проблемами PUT в React-Native - PullRequest
0 голосов
/ 30 октября 2018

У меня проблемы с аутентификацией с использованием github API в моем приложении-приложении. Ниже мой конфиг, который я использую для 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.log(URL);
const newConfig = AxiosConfig;
newConfig["headers"]["Content-Length"] = "0";
await axios
  .put(URL, newConfig)
  .then(response => {
    console.log("Followed User");
  })
  .catch(error => {
    console.log("Could not follow user");
    console.log(error.response.data);
    Alert.alert(
      "Error Trying to Follow User",
      `Could not follow user ${user}`,
      [{ text: "OK", onPress: () => console.log("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 и использую UI авторизации в почтальоне, чтобы установить имя пользователя / пароль, вызов работает нормально. enter image description here

В чем проблема с моим вызовом Axios, который отличается от моего почтальона?

1 Ответ

0 голосов
/ 31 октября 2018

Это была проблема с axios.put. Чтобы решить, я сделал следующее

axios({

  method: "put",
  url: URL,
  headers: {
    Authorization: "Bearer <token>"
  }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...