使用oauth标记进行身份验证的Git/github命令行应用程序?

问题描述:

我希望使用一个简单的命令行客户端(例如官方的git客户端)作为部署工具的一部分从github克隆分支。使用oauth标记进行身份验证的Git/github命令行应用程序?

为了安全起见,我不想使用基本的(用户名/密码)验证。因为我已经在我的应用中使用基于github的基于oauth-token的Auth头文件,所以我想知道是否有一个命令行应用可以使用oauth令牌对github进行身份验证。

谢谢!

+0

AFAIK,如果您克隆开放的Github项目,则不需要任何身份验证。或者您是否特别需要访问需要经过身份验证的访问? – fork0 2012-07-17 13:57:19

+0

@ fork0我特别需要访问私人项目。 – mikemaccana 2012-07-17 14:30:17

更新2012年9月

Github now accepts the use of auth tokens using any git client

你可以get a oauth token for github using these instructions,这里是一个使用Node.js和superagent的实际演示。

var GITHUB_API_ENDPOINT = 'https://api.github.com/' 

superagent 
    .post(GITHUB_API_ENDPOINT+'authorizations') 
    .auth('username', 'notactuallymypassword') 
    .send({ scopes: 'repo', note: 'Social Ops Deployer' }) 
    .end(function(res){ 
    if (res.ok) { 
    console.log('yay got ' + JSON.stringify(res.body)); 
    } else { 
    console.log('Oh no! error ' + res.text); 
    } 
    }); 

我还没有听说过任何。

而且您可能已经发现了描述如何开发此类客户端的official documentation on this topic

但我认为它可能会产生额外的开发开销并可能引入错误,所以也许有必要尝试不同的方法来解决这个问题?例如:

  • 使用ssh协议从github检索数据;
  • 通过“只拉”权限并使用其凭据向团队中引入新用户。
+1

这正是我最终做的 - 使用[机器用户](https://help.github.com/articles/managing-deploy-keys)(请参阅“机器用户”标题),对所选组具有只读访问权限的项目。 – mikemaccana 2012-08-07 09:55:34