Как получить токен github с помощью имени пользователя и пароля
5 ответов
вместо этого следует использовать oauth:http://developer.github.com/v3/oauth/
Как только у вас есть только логин и пароль, вы можете использовать их с помощью basic auth. Прежде всего, проверьте, показывает ли этот код данные JSON желаемого РЕПО. Логин и пароль должны быть разделены двоеточием.
curl -u "user:pwd" https://api.github.com/repos/user/repo
если удалось, вы должны рассмотреть возможность выполнения этого запроса из кода.
import urllib2
import json
from StringIO import StringIO
import base64
username = "user@example.com"
password = "naked_password"
req = urllib2.Request("https://api.github.com/repos/user/repo")
req.add_header("Authorization", "Basic " + base64.urlsafe_b64encode("%s:%s" % (username, password)))
req.add_header("Content-Type", "application/json")
req.add_header("Accept", "application/json")
res = urllib2.urlopen(req)
data = res.read()
repository = json.load(StringIO(data))
пользователи Github могут создавать Личные Маркеры Доступа на настройки приложения. Вы можете использовать этот токен в качестве альтернативы имени пользователя / пароля в базовой аутентификации http для вызова API или доступа к частным репозиториям на веб-сайте github.
просто используйте клиент, который поддерживает базовую аутентификацию http. Задайте имя пользователя, равное токену, и пароль, равный x-oauth-basic
. Например с curl:
curl -u <token>:x-oauth-basic https://api.github.com/user
Смотрите также https://developer.github.com/v3/auth/.
отправить запрос POST в /authorizations
С заголовками
Content-Type: application/json
Accept: application/json
Authorization: Basic base64encode(<username>:<password>)
но не забудьте принять двухфакторную аутентификацию в виду https://developer.github.com/v3/auth/#working-with-two-factor-authentication
здесь вы получите токен, который можно использовать для дальнейшего запроса
соблюдать этой направляющий выступ на help.github.com - ... В нем описывается, как найти ваш api-токен (он находится в разделе "Настройки учетной записи" > "Администратор учетной записи") и настроить git, чтобы он использовал токен.