获取 Azure Key Vault 的 oauth 令牌

Get oauth token for Azure Key Vault

正在按照下面的教程尝试获取 Azure Key Vault 的 oauth2 令牌。

https://docs.microsoft.com/en-us/azure/key-vault/general/tutorial-net-windows-virtual-machine

在 Azure 中,我正在获取 oauth2 令牌端点并进行调用以获取令牌,但收到响应 "You must sign into your account"。令牌端点应该不同吗?如果是这样,那是在哪里找到的?如果我使用的是正确的端点,那么如何解决这个问题,因为使用 Key Vault 的全部目的是让您不必在本地存储您的凭据

    static string GetToken()
    {
        WebRequest request = WebRequest.Create("https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token");
        request.Headers.Add("Metadata", "true");
        WebResponse response = request.GetResponse();
        return ParseWebResponse(response, "access_token");
    }

根据上面的评论,您无法访问是因为您可能正试图从 Azure 外部 运行 您的代码。该端点 169.254.169.254 只能在 Azure 中路由。 这意味着示例代码必须 运行ning 在 azure 虚拟机中。

你没有指定你试图从哪里访问它,但是 如果您尝试从 Azure 网络应用程序访问,则相关示例为 https://docs.microsoft.com/en-us/azure/key-vault/general/tutorial-net-create-vault-azure-web-app

如果您尝试从外部访问密钥保管库,您可能会创建一个应用程序注册,授予它访问密钥保管库的权限,如下所示