【问题标题】:Can I access Azure AD graph api and Azure management resources using the same accessToken我可以使用相同的 accessToken 访问 Azure AD 图形 api 和 Azure 管理资源吗
【发布时间】:2016-08-26 01:15:49
【问题描述】:

看起来如果我使用“https://management.core.windows.net”作为资源 ID 创建一个令牌,那么我将无法对图形 API 使用相同的 accessToken。有没有办法避免多次调用 AcquireTokenAsync?

AuthenticationResult result = authContext.AcquireTokenAsync("https://management.core.windows.net", "<some_client_id>, new Uri("https://localhost"), new PlatformParameters(PromptBehavior.Always)).Result;

TaskCompletionSource<string> tcs = new TaskCompletionSource<string>();
tcs.SetResult(result.AccessToken);
ActiveDirectoryClient graphClient = new ActiveDirectoryClient(new Uri("https://graph.windows.net/" + result.TenantId),
() => { return tcs.Task; });
foreach (var app in graphClient.Applications.ExecuteAsync().Result.CurrentPage)
{
    Console.WriteLine($"{app.AppId}, {app.DisplayName}");
}

【问题讨论】:

    标签: oauth-2.0 azure-active-directory


    【解决方案1】:

    Azure AD 访问令牌仅适用于单个资源,因此简短的回答是否定的。

    但是,您确实受益于 Azure AD 发出 multi-resource refresh tokens 的事实,这意味着获取第二个资源的访问令牌只是对 AAD 令牌端点的调用,而不是完整的身份验证流程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-23
      相关资源
      最近更新 更多