【发布时间】:2016-05-03 17:19:02
【问题描述】:
我正在使用下面的 ADAL ruby gem,并遵循 samples 文件夹中的 user credentials 示例:
https://github.com/AzureAD/azure-activedirectory-library-for-ruby
我在 Azure AD 中设置了本机客户端。我能够成功获得https://management.core.windows.net/ 的令牌并使用该令牌执行部署。同样使用相同的令牌,我可以通过 Postman 在 HTTPS 请求中使用它来检索我的 azure key vault。
问题:
我需要从我的密钥保管库中检索一个秘密。使用上面的令牌,我得到一个401 unauthorized。我尝试生成一个新令牌,这次将RESOURCE 设置为https://vault.azure.net,我收到以下错误:
AADSTS65001:用户或管理员未同意使用 ID 为 {client-id} 的应用程序。为此用户和资源发送交互式授权请求。
我正在使用 Azure 支持,我们一直在执行相同的步骤。他正在使用 .NET 库,而我正在使用 ruby gem。我的请求和 Azure 支持之间的显着区别:
Azure 支持获取令牌的请求会发送一个grant_type 标头,其值设置为client_credentials。我发送了相同的标头,但以password 作为值。
我还尝试创建一个 Web 应用程序而不是本机应用程序来测试这一点。我正在关注 ruby gem repo 中给出的示例。这也无法检索management.core 和vault.azure.net 的令牌。它确实成功获取了图形 API 的令牌。
感谢任何帮助说明为什么我无法使用此库获取 azure key vault 的令牌。
【问题讨论】:
标签: adal