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



Я разрабатываю мобильные приложения, используя rhodes. Я хочу получить доступ к частному РЕПО github. У меня есть только имя пользователя и пароль.



Как получить токен заданного логина и пароля.

945   5  

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 = "[email protected]"
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 так, чтобы он использовал токен.

Comments

    Ничего не найдено.