Как получить токен github с помощью имени пользователя и пароля

Я разрабатываю мобильные приложения с помощью rhodes. Я хочу получить доступ к частному РЕПО 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, чтобы он использовал токен.