使用正确且未过期的密码时提供了无效的客户端密码
Invalid client secret is provided when using correct and not expired secret
我有 Azure App Registration with active secret。
我正在尝试使用 v1.0 获取令牌,如下所示(clientId
是上述应用注册的 ID)
$body = @{
grant_type = 'client_credentials';
client_id = $clientId;
client_secret = $clientSecret;
resource = $resourceId;
}
$aadResponse = Invoke-WebRequest -Uri "https://login.microsoftonline.com/$aadtenantId/oauth2/token" -Method POST -Body $body -UseBasicParsing
使用 az ad app credential reset --id XXX
重新生成凭据后,一切都按预期工作 - 令牌已正确获取。
但是,在 Azure Devops 中,我在从 KV 获取值时遇到以下错误
然后我将转到 Azure Devops 服务连接,并使用 edit
、verify
和 save
我能够连接到 KV 而无需任何进一步的更改。
但是,此操作会中断令牌的初始工作获取(如上所述)。
我 100% 确定:
- 密码正确
- 我真的用的是密码,不是它的id
- 编码密码没有帮助
- 除了
verify
服务连接 没有其他动作
- 我正在使用 Failed to obtain the JWT by using the service principal client ID 作为对服务连接的引用
我做错了什么?
我也可以在我这边重现你的问题。
使用 az ad app credential reset --id XXX
重新生成客户端密码后,我想当您在服务连接 Azure Resource Manager using service principal (automatic)
.
中单击 Verify
时应该会出现如下错误
如服务连接页面所示,您是通过自动方式创建的,如果您重新生成客户端密钥,则需要通过手动方式创建新的服务连接才能解决问题。
您可以在 keyvault 页面和您的 AAD 应用程序页面上获取这些值。对于Service principal key
,是你重新生成的client secret,如果你不保存是无法重新获取的,如果是,你需要重新生成一个。
修改值后,验证并保存。
然后在AzureKeyVault@2
任务中使用新的服务连接,就可以了。
我有 Azure App Registration with active secret。
我正在尝试使用 v1.0 获取令牌,如下所示(clientId
是上述应用注册的 ID)
$body = @{
grant_type = 'client_credentials';
client_id = $clientId;
client_secret = $clientSecret;
resource = $resourceId;
}
$aadResponse = Invoke-WebRequest -Uri "https://login.microsoftonline.com/$aadtenantId/oauth2/token" -Method POST -Body $body -UseBasicParsing
使用 az ad app credential reset --id XXX
重新生成凭据后,一切都按预期工作 - 令牌已正确获取。
但是,在 Azure Devops 中,我在从 KV 获取值时遇到以下错误
然后我将转到 Azure Devops 服务连接,并使用 edit
、verify
和 save
我能够连接到 KV 而无需任何进一步的更改。
但是,此操作会中断令牌的初始工作获取(如上所述)。
我 100% 确定:
- 密码正确
- 我真的用的是密码,不是它的id
- 编码密码没有帮助
- 除了
verify
服务连接 没有其他动作
- 我正在使用 Failed to obtain the JWT by using the service principal client ID 作为对服务连接的引用
我做错了什么?
我也可以在我这边重现你的问题。
使用 az ad app credential reset --id XXX
重新生成客户端密码后,我想当您在服务连接 Azure Resource Manager using service principal (automatic)
.
Verify
时应该会出现如下错误
如服务连接页面所示,您是通过自动方式创建的,如果您重新生成客户端密钥,则需要通过手动方式创建新的服务连接才能解决问题。
您可以在 keyvault 页面和您的 AAD 应用程序页面上获取这些值。对于Service principal key
,是你重新生成的client secret,如果你不保存是无法重新获取的,如果是,你需要重新生成一个。
修改值后,验证并保存。
然后在AzureKeyVault@2
任务中使用新的服务连接,就可以了。