11

I am developing mobile apps using rhodes. I want to access private repo of github. I am having only username and password.

How to get token of given username and password.

4

6 回答 6

7

一旦您只有登录名和密码,您就可以使用基本身份验证来使用它们。首先,检查此代码是否向您显示所需 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))
于 2011-06-18T00:04:21.300 回答
5

Github 用户可以在他们的应用程序设置中创建个人访问令牌。您可以在基本 http 身份验证中使用此令牌作为用户名/密码的替代方法,以调用 API 或访问 github 网站上的私有存储库。

只需使用支持基本 http 身份验证的客户端即可。设置用户名等于令牌,密码等于x-oauth-basic。例如卷曲:

curl -u <token>:x-oauth-basic https://api.github.com/user

另请参阅https://developer.github.com/v3/auth/

于 2014-01-28T22:56:31.743 回答
5

您应该改用 oauth:http: //developer.github.com/v3/oauth/

于 2011-06-17T00:30:10.943 回答
4

发送 POST 请求到/authorizations With headers

Content-Type: application/json Accept: application/json Authorization: Basic base64encode(<username>:<password>)

但请记住考虑两因素身份验证 https://developer.github.com/v3/auth/#working-with-two-factor-authentication

在这里您将收到一个可用于进一步请求的令牌

于 2016-09-27T08:23:35.447 回答
0

在 help.github.com 上遵循本指南。它描述了如何找到您的 api-token(它位于“帐户设置”>“帐户管理员”下)并配置 git 以便它使用该令牌。

于 2011-06-16T17:49:48.913 回答
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) {
                  }));
于 2020-08-10T21:01:37.377 回答