Почему я не могу аутентифицироваться с помощью GitHub REST API с помощью Axios? - PullRequest
1 голос
/ 29 апреля 2019

Я новичок в ОТДЫХЕ.

Для полного раскрытия, я запускаю этот код внутри функции Netlify Lambda и тестирую через netlify-lambda.

Моя команда curl работает:

 curl -u "<username>:<password>" https://api.github.com/repos/<username>/<reponame>

Но когда я пытаюсь получить запрос через axios, я получаю 404 (что, согласно github docs, подразумевает проблему с аутентификацией). Это то, что я делаю (также не работает без пользовательских заголовков, я просто пробовал случайные вещи).

axios({
    method: "get",
    url: `https://api.github.com/repos/${user}/<reponame>/`,
    headers: {
        Authorization: `Bearer ${githubToken}`,
        "Content-Type": "application/json"
    },
    auth: {
        username: user,
        password: pass
    }
    })
    .then(res => {
        callback(null, {
            statusCode: 200,
            body: JSON.stringify(res.data)
        });
    })
    .catch(err => {
        callback(err);
    });

Одна вещь, которую я заметил, заключалась в том, что, похоже, axios брал мое имя пользователя и пароль и добавлял их к URL-адресу, т.е. https://<username>:<password>@api.github.com/repos/<username>/<reponame>

Это как отправлять аутентификацию?

Ответы [ 2 ]

1 голос
/ 06 мая 2019

У меня не должно быть косой черты в конце моего URL.

0 голосов

Если у вас уже есть токен, который вам не нужен пользователь / пароль, просто добавьте токен в заголовок.

...