我正在使用rhodes开发移动应用程序。我想访问github的私人回购。我只有用户名和密码。
如何获取给定用户名和密码的令牌。
答案 0 :(得分:6)
只有登录名和密码后,您可以使用基本身份验证来使用它们。首先,检查此代码是否显示所需repo的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))
答案 1 :(得分:4)
您应该使用oauth:http://developer.github.com/v3/oauth/
答案 2 :(得分:4)
向/authorizations
发送POST请求
带标题
Content-Type: application/json
Accept: application/json
Authorization: Basic base64encode(<username>:<password>)
但请记住考虑双因素身份验证 https://developer.github.com/v3/auth/#working-with-two-factor-authentication
此处您将收到一个可用于进一步请求的令牌
答案 3 :(得分:3)
Github用户可以在application settings创建个人访问令牌。您可以使用此令牌替代基本http身份验证中的用户名/密码,以调用API或访问github网站上的私有存储库。
只需使用支持基本http身份验证的客户端即可。将用户名设置为令牌,密码等于x-oauth-basic
。例如curl:
curl -u <token>:x-oauth-basic https://api.github.com/user
答案 4 :(得分:0)
关注help.github.com上的this指南。它描述了如何找到您的api-token(它位于“帐户设置”&gt;“帐户管理员”下)并配置git以便它使用该令牌。
答案 5 :(得分:0)
这是在JavaScript中使用GitHub基本身份验证的代码
let username = "*******";
let password = "******";
let auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
var options = {
host: 'api.github.com',
path: '/search/repositories?q=google%20maps%20api',
method: 'GET',
headers: {
'user-agent': 'node.js',
"Authorization": auth
}
};
var request = https.request(options, function (res) {
}));