在Auth标头中使用System.Accesstoken时,如何在外部API中对其进行验证?

问题描述

如果我们有一个可以接受PAT进行身份验证的API,并且在调用此API时从AzureDevOps发布任务的标头(授权)中传递了System.Accesstoken,那么在API方面验证此令牌的建议方法是什么?

解决方法

System.Accesstoken是秘密。如果要访问秘密变量,可以将其打印到文件中。检查以下示例:

steps:
- powershell: |
   $env:var1 | Out-File C:\Users\xxx\Desktop\Newfolder\debug.txt
   
   
  displayName: 'PowerShell Script'
  env:
    var1: $(System.AccessToken)

但是System.Accesstoken是为服务标识“ Project Collection Build Service(帐户)”生成的PAT令牌,它应该有效。通常,不需要验证System.AccessToken的值。

如果要将System.AccessToken的值打印到文件中,则需要在代理作业中检查Allow scripts to access the OAuth token

enter image description here