Oauth 2.0 我可以使用相同的accessToken访问Azure AD graph api和Azure管理资源吗

Oauth 2.0 我可以使用相同的accessToken访问Azure AD graph api和Azure管理资源吗,oauth-2.0,azure-active-directory,Oauth 2.0,Azure Active Directory,看起来,如果我使用“”作为资源ID创建令牌,那么我将无法对graph API使用相同的accessToken。有没有办法避免多次调用AcquireTokenAsync AuthenticationResult result = authContext.AcquireTokenAsync("https://management.core.windows.net", "<some_client_id>, new Uri("https://localhost"), new Platform

看起来,如果我使用“”作为资源ID创建令牌,那么我将无法对graph 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}");
}
AuthenticationResult=authContext.AcquireTokenAsync(“https://management.core.windows.net,,新Uri(“https://localhost新的平台参数(PromptBehavior.Always)).Result;
TaskCompletionSource tcs=新的TaskCompletionSource();
tcs.SetResult(result.AccessToken);
ActiveDirectoryClient图形客户端=新的ActiveDirectoryClient(新Uri(“https://graph.windows.net/“+result.TenantId),
()=>{return tcs.Task;});
foreach(graphClient.Applications.ExecuteAsync().Result.CurrentPage中的var app)
{
Console.WriteLine($“{app.AppId},{app.DisplayName}”);
}

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

但是,Azure AD问题确实会让您受益,这意味着获取第二个资源的访问令牌只是对AAD令牌端点的调用,而不是完整的身份验证流