Получение статуса: 403 Запрещено при проверке моих областей github

Итак, я запускаю API-интерфейс github oauth, и у меня возникают проблемы с аутентификацией моего client_id.

Когда я передаю свой client_id вручную через URL-адрес следующим образом:

<a href="https://github.com/login/oauth/authorize client_id=clientidhere">

Я получаю 404 не найдено от github. Быстрый поиск, и мне говорят, что проблема заключается в одном из двух: либо вы неправильно проходите аутентификацию, либо ваши области действия недействительны.

Поэтому я снова запускаю команду аутентификации:

curl -i -u myun https://api.github.com/users/myun

А затем проверьте мои области:

curl -H "Authorization: bearer mytoken" https://api.github.com/users/myun -I

Оттуда я все еще получаю 401 неавторизованный. Полный вывод:

HTTP/1.1 403 Forbidden
Server: GitHub.com
Date: Fri, 26 Jul 2013 03:14:13 GMT
Content-Type: application/json; charset=utf-8
Status: 403 Forbidden
X-GitHub-Media-Type: github.beta
Content-Length: 61
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-  
RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes
Access-Control-Allow-Origin: *

Любое понимание этого вопроса приветствуется.

EDIT: После повторного запуска curl -i -u myun https://api.github.com/users/myun и повторной проверки области действия я получаю статус Status: 200 OK... однако. Когда я снова пытаюсь перейти по ссылке, я все еще получаю 404 не найдено на github.

Итак, теперь, когда я исчерпал оба предложения github [1] о том, почему я получаю 404, куда мне идти? Я почти уверен, что это не проблема с API.

  1. http://developer.github.com/v3/troubleshooting/#why-am-i-getting-a-404-error-on-a-repository-that-exists

person Ryan Rich    schedule 26.07.2013    source источник
comment
Вы действительно заменили TOKEN своим токеном доступа к API в команде cURL?   -  person kgraney    schedule 26.07.2013
comment
@kgraney да, я сделал. Отражено изменение выше, спасибо.   -  person Ryan Rich    schedule 26.07.2013


Ответы (1)


Ваш первый URL выглядит неправильно, он должен быть:

<a href="https://github.com/login/oauth/authorize?client_id=clientidhere">

Акцент на отсутствующем элементе ?.

Во-вторых, вы всегда должны включать redirect_uri, но это не причина, по которой вы видите 404. Вы видите 404 по этой ссылке, потому что браузер интерпретирует то, что у вас есть, как https://github.com/login/oauth/authorize%20client_id=clientidhere.

Я не уверен, какой токен вы используете, но, похоже, вы не отображаете полные заголовки, которые показывают нам, какие OAuth-Scopes у вас есть на самом деле. Я могу ошибаться, но я думаю, что даже при ошибке 4xx вы получите эту информацию обратно.

Также страница устранения неполадок, на которую вы ссылаетесь, посвящена попытке увидеть частный репозиторий. В одном из примеров, перечисленных в этом разделе, показано, как должен выглядеть возвращаемый заголовок. Нам это нужно, чтобы помочь вам в дальнейшем.

person Ian Stapleton Cordasco    schedule 27.07.2013