使用 OAuth 令牌进行身份验证的 Git/Github 命令行应用程序?

3

我希望使用一个简单的命令行客户端(如官方git客户端)作为部署工具的一部分,从github克隆分支。

出于安全考虑,我不想使用基本的(用户名/密码)身份验证。由于我已经在我的应用程序中使用了基于oauth-token的Auth头文件,我想知道是否有一个可以使用oauth令牌来验证github的命令行应用程序。

谢谢!


据我所知,如果您克隆开放的Github项目,则不需要任何身份验证。或者您是否特别需要访问需要身份验证的项目? - fork0
@fork0 我需要特别访问私有项目。 - mikemaccana
2个回答

3

2012年9月更新

现在Github接受使用任何git客户端的授权令牌

你可以按照这些说明获取Github的oauth令牌,以下是使用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);
    }
  });

1

我没有听说过。

你可能已经发现了有关此主题的官方文档,其中描述了如何开发这样的客户端。

但我认为这可能会增加额外的开发工作量,并可能引入错误,因此也许值得尝试不同的方法来解决这个问题?例如:

  • 使用ssh协议从github检索数据;
  • 引入团队中具有“仅拉取”权限的新用户并使用他的凭据。

1
这正是我最终采取的做法 - 使用机器用户(请参见“机器用户”标题),并为其选择的一组项目提供只读访问权限。 - mikemaccana

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接