具有不同受众的 Azure AD 范围

Azure AD Scopes with different audiences

我修改了 Azure 移动应用程序示例 (https://github.com/Azure/azure-mobile-apps) 并让它与 DataSyncClient 一起使用(用于离线同步)。但是,我想重用在身份验证过程中通过 IdentityClient 获得的令牌来调用 Microsoft Graph API。这是失败的,我想这是由于我使用的范围。

除了在样本文档中,我需要使用真实的 TenantID 而不是“common”,我猜这是因为我公司租户的设置。 其次,可能与上述有关,我必须将“access_as_user”权限的范围设置为“api:///access_as_user”。现在我需要额外的范围“User.Read”,但是如果我同时请求它们(以便能够重用收到的令牌),我在使用图表令牌时得到“无效的观众”API打电话。

有什么想法吗? BR, 丹尼尔

您需要获得 2 个访问令牌。 一个访问令牌仅适用于一个 API。 通常,您可以在没有第二次登录提示的情况下获得第二个令牌(例如,使用刷新令牌,MSAL 会为您处理)。