IIS 基本身份验证使个人访问令牌失效

Azure DevOps Services

注意

建议始终关闭 IIS 基本身份验证 仅在必要时才启用 IIS 基本身份验证。 在 Windows 计算机上启用 IIS 基本身份验证后,它将阻止将个人访问令牌 (PAT) 用作身份验证机制。

例如,如果使用 PAT 允许第三方应用检索 bug 信息,然后将包含信息的电子邮件发送给 bug 被分配者(启用了 IIS 基本身份验证),则应用将失败身份验证。 应用无法检索 bug 信息。

已启用 IIS 基本身份验证的 Git

警告

如果将 Git 与 IIS 基本身份验证配合使用,则 Git 会中断,因为它需要 PAT 进行用户身份验证。 尽管不建议使用 IIS 基本身份验证,但通过向 Git 请求添加额外的标头,可以将 Git 与 IIS 基本身份验证配合使用。

额外的标头必须用于所有Azure DevOps Server安装,因为 Windows 身份验证也会阻止使用 PAT。

额外的标头必须包含“user:PAT”的 base 64 编码。请参阅以下格式和示例。

格式

git -c http.extraheader='Authorization: Basic [base 64 encoding of "user:password"]' ls-remote http://tfsserver:8080/tfs/DefaultCollection/_git/projectName

示例

git -c http.extraheader='Authorization: Basic a2FzYW50aGE6bzN3cDVndmw2YXRkajJkam83Znd4N2k3NDdhbGxjNXp4bnc3b3o0dGQycmd3d2M1eTdjYQ==' ls-remote http://tfsserver:8080/tfs/DefaultCollection/_git/projectName