【问题标题】:Azure Management REST API - "Authentication failed. The 'Authorization' header is provided in an invalid format."Azure 管理 REST API -“身份验证失败。‘授权’标头以无效格式提供。”
【发布时间】:2017-02-10 21:11:05
【问题描述】:

我正在拼命尝试将 2 个经典存储帐户从我的旧 MSDN 订阅迁移到我的 MPN 订阅,但我一直碰壁,因为只有通过 REST API 才支持这些移动。

我已按照此处的说明启用 API....

https://azure.microsoft.com/en-us/documentation/articles/resource-group-move-resources/

这里……

https://msdn.microsoft.com/en-us/library/azure/dn776326.aspx

但我完全糊涂了。我已按照建议创建了一个 POST 请求,以检查“移动资源”说明中的第一次调用时的状态...

POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ClassicCompute/validateSubscriptionMoveAvailability

(将subscriptionId 替换为每个ID)并传入适当的源/目标主体。

我还提供了如下授权标头...

授权:{Azure 门户生成的密钥}

现在完全迷路了。我尝试过同时使用 Fiddler 和 Postman。 PowerShell 对我来说不是一个选择,因为我根本不知道它。我只想移动 2 个项目,到目前为止,运行这些管理 API 已经花费了我超过 15 英镑,而且我的网站即将崩溃,因为我的信用即将到期。

任何帮助将不胜感激。

【问题讨论】:

    标签: rest api azure azure-api-management


    【解决方案1】:

    根据您的描述,您的生成方式似乎有任何问题:

    授权:{Azure 门户生成的密钥}

    根据https://msdn.microsoft.com/en-us/library/azure/dn790569.aspx#bk_common 的文档描述,授权标头应该是您从 Azure Active Directory 但直接从 Azure 门户获取的 JSON Web 令牌。

    您可以参考https://azure.microsoft.com/en-us/documentation/articles/active-directory-protocols-oauth-code/ 了解如何从 AAD 获取 JWT。

    授权头应该是这样的: Authorization : Bearer {JWT}。

    【讨论】:

    • 恐怕这一切我都搞不定。如果我尝试编写自己的 API,这对我来说是有意义的,但我不是,我正在尝试使用管理 API。根据我阅读的说明,授权标头应由旧 Azure 门户中的密钥生成器提供。
    • 阅读更多内容,我从门户获得的代码应该(我认为)是编码的 JWT。
    • 谢谢加里 - 最后我只是放弃了这个,因为它过于复杂,并在新订阅中创建了一个新的存储帐户并复制了所有内容,因为我没有处理大量数据量。
    • 您好,您是如何在 api url 中添加授权的?,授权:{由 Azure 门户生成的密钥}
    • @PriyankaMane,在请求标头中设置Authorization,以针对您的 api url。
    猜你喜欢
    • 2020-06-17
    • 2021-09-24
    • 2019-06-14
    • 2019-09-24
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 2016-08-10
    • 1970-01-01
    相关资源
    最近更新 更多