通过AD Oauth访问Azure Service Management API失败

时间:2014-09-26 23:16:08

标签: c# api azure service oauth

我遇到与此相同的问题 - Azure Service Management API authentication using Azure Active Directory Oauth情况略有不同。

我正在运行一个无头应用程序(使用nunit来运行集成测试),就像在http://msdn.microsoft.com/en-us/library/ee460782.aspx中一样,以获得舞台部署网址,这在所有它的荣耀中是动态的。

我可以调用生产URL并运行测试,同时以无头方式验证AD请求,但不能使用服务管理API。我已经获得了服务管理API的许可,就像在演练中一样。

另外,我通过客户端凭证调用获取令牌:

result = context.AcquireToken(
  "https://management.core.windows.net/",
  "{clientId}",
  clientCredential,   // had client id and key
  new Uri("{redirectUri}"));

获取未授权:收到的JWT令牌发生安全令牌异常。

使用的获取部署网址位于此处 - http://msdn.microsoft.com/en-us/library/ee460804.aspx 我是双ched subscrption id,服务名称等。

尽管看似有效的令牌,任何人都能看到失败的原因?

这是否知道使用app键?我还找不到一个例子。

1 个答案:

答案 0 :(得分:1)

使用AcquireToken(字符串资源,字符串clientId,UserCredential userCrential)重载。这是无头应用的功能designed

由于Service Management API仅允许委派权限,因此您需要为用户(用户名和密码)而不是应用程序(客户端ID和密钥)提供凭据。