如何以自动方式管理VSTS扩展密钥?

时间:2018-06-13 21:42:43

标签: security azure-devops secret-key

我正在使用VSTS extension keyauthenticate request to my service。获取我所知道的扩展程序的唯一方法是通过VSTS Marketplace UI,如链接文档中所述。

我的问题是:

  1. 是否有自动方式访问扩展密钥,因此我可以自动轮换它?
  2. 密钥什么时候到期?我怎么能自己解决这个问题?

2 个答案:

答案 0 :(得分:1)

关于密钥过期,您可以在此处查看:https://jwt.io/或编程,例如PowerShell:Validating JSON Web Token (JWT) with PowerShell

答案 1 :(得分:1)

您可以使用Powershell RestAPI来获取证书:

首先,您需要从VSTS帐户中创建个人访问令牌(确保PAT适用于“所有可访问帐户”),您可以将PAT的作用域仅限于Marketplace或“所有作用域”(由您选择)。

然后在Powershell中使用以下代码:

# Define credentials
$credPair = "YourMailAccount:YourPAT"
$encodedCredentials = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($credPair))                        
$certificateUrl = 'https://marketplace.visualstudio.com/_apis/gallery/publishers/<YourPublisherName>/extensions/<ExtensionId>/certificates/latest'

# Call the REST API
Invoke-RestMethod -Uri $certificateUrl -OutFile "ExtensionCert.txt"  -Headers @{Authorization = "Basic $encodedCredentials"}