【问题标题】:Unable to Retrieve ADAL Token for Vault.azure.net Using Ruby ADAL Gem无法使用 Ruby ADAL Gem 检索 Vault.azure.net 的 ADAL 令牌
【发布时间】: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.corevault.azure.net 的令牌。它确实成功获取了图形 API 的令牌。

感谢任何帮助说明为什么我无法使用此库获取 azure key vault 的令牌。

【问题讨论】:

    标签: adal


    【解决方案1】:

    Azure 支持已确认这是使用 password 授权类型的本机应用程序的一个错误(这是在对本机应用程序进行身份验证时应该使用的类型。)

    直到Azure在你注册的AD应用中添加key Vault应用权限设置,你需要使用Powershell的客户端ID:

    1950a258-227b-4e31-a9cf-717495945fc2

    【讨论】:

    • 对我仍然不起作用,我的回复 URL 有错误
    • 对不起@Colbs 我很久没做这个了,不知道它的状态是什么。
    猜你喜欢
    • 2018-01-13
    • 2015-12-18
    • 2016-05-23
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多