Contents
- 1. 场景描述
- 2. 操作方法
- 2.1 调用Azure DevOps的接口生成令牌
- 2.2 生成Base64编码格式的认证字符
- 2.3 在git命令行中使用base64字符作为认证字符
1. 场景描述
在最近的一次项目实施过程中,客户提出这样的一个需求,希望使用自己编写的程序(python),从Azure DevOps Server的服务器中克隆指定的Git库,并实现其他的例如签入和拉取等与服务器之间的交互操作,并且希望所有的操作可以基于计算机中安装的Git客户端工具。
我们知道使用Git clone命令的时候,工具会提示用户输入账户和密码,如果我们在Git URL中输入账户和密码,例如http://username:password@devops.server.com/......,这种方式是不能通过Git客户端的认证的。在调研和验证之后,我们发现使用令牌可以实现自动认证的功能,下面就为大家分享一下使用令牌实现Git认证的方法。
2. 操作方法
2.1 调用Azure DevOps的接口生成令牌
首先,我们使用程序自动调用Azure DevOps Server生成令牌的接口,自动生成令牌。下面是Python调用接口的示例脚本:
import requests import json url = "http://dev.my-server.com:8080/tfs/Collection/_apis/