azure - Azure 功能密钥管理 API - 身份验证错误
问题描述
我有两个 Azure 函数应用,都在同一个 Azure 订阅中。我可以检索其中一个的密钥,但不能检索另一个。据我所知,这两个功能应用程序之间没有区别。
我正在使用这个 Powershell 代码:
function GetHostKey
{
param($webAppName, $resourceGroupName)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Write-Host "Getting master key from $webAppName"
$xml = [xml](Get-AzureRmWebAppPublishingProfile -Name $webAppName -ResourceGroupName $resourceGroupName -Format WebDeploy -OutputFile null)
$msdeployUsername = $xml.SelectNodes("//publishProfile[@publishMethod=`"MSDeploy`"]/@userName").value
$msdeployPassword = $xml.SelectNodes("//publishProfile[@publishMethod=`"MSDeploy`"]/@userPWD").value
$apiBaseUrl = "https://$webAppName.scm.azurewebsites.net/api"
$siteBaseUrl = "https://$webAppName.azurewebsites.net"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $msdeployUsername,$msdeployPassword)))
$jwt = Invoke-RestMethod -Uri "$apiBaseUrl/functions/admin/token" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method GET
$uri = "$siteBaseUrl/admin/host/systemkeys/_master"
$response = Invoke-RestMethod -Uri $uri -Headers @{Authorization=("Bearer {0}" -f $jwt)} -Method GET
return $response.value
}
对 $siteBaseUrl/admin/host/systemkeys/_master 的调用会返回一个函数应用程序的预期 json,但另一个会返回登录屏幕。
解决方案
比较两个功能设置、版本。尝试从门户手动获取密钥以隔离问题的根源。在删除并重新创建函数之前,我遇到了同样的问题。
推荐阅读
- java - onDataChange 方法在 android studio 中不起作用
- angular - 根据用户格式偏好动态设置日期选择器的格式
- python-3.x - 无法将 map() 的结果分配给二维列表
- c - strcmp 返回错误值
- hyperledger-fabric - SERVICE_UNAVAILABLE -- 支持的 Kafka 集群尚未完成启动;稍后再试
- reactjs - 在特定路线上隐藏组件 - Reactjs
- java - InvalidProtocolBufferException 试图获取主模块包 ID
- css - 如何修复 CSS“过渡”取消悬停元素?
- amazon-web-services - 使用 --no-verify-ssl 通过 aws cli 将数据复制到 s3。安全与否?
- http - Golang 在服务器运行时得到 404