即使将应用程序设置为多租户,也无法连接到不同租户的azure广告应用

时间:2017-02-21 15:33:24

标签: azure oauth azure-active-directory azure-ad-graph-api

我决定从旧的azure portal创建应用程序并将应用程序设置为多租户。

我为令牌和OAuth 2.0授权端点(https://login.microsoftonline.com/<my tenant id>/oauth2/token)设置了OAuth 2.0令牌端点(https://login.microsoftonline.com/<my tenant id>/oauth2/authorize)以进行授权。

如果我尝试使用任何已注册的Office 365用户ID进行授权,而不是我用来登录azure的用户,那么我会收到此错误:

来自身份提供商“https://sts.windows.net/49322bd9-93ea-4911-a8e4-1aa10bc5b680/”的用户帐户“tester1 @tescore.onmicrosoft.com”在租户'mary'中不存在,并且无法访问应用程序'8adfad2b-f28a-40a6-8698-8b53ac506132'承租人。该帐户需要首先作为外部用户添加到租户中。注销并使用其他Azure Active Directory用户帐户重新登录。

如果我手动将此用户添加到azure中,那么我将获得访问令牌,但事实并非如此。这必须发生在运行时,因为我的应用程序是多租户。你能说出我可能出错的地方吗?

1 个答案:

答案 0 :(得分:3)

您需要使用https://login.microsoftonline.com/common/oauth2/authorize端点。

这是允许从任何Azure AD租户登录的通用端点。您不应在多租户应用程序中使用特定于租户的端点。

至于获取访问令牌,您必须使用已登录用户的租户ID。这样您就可以获得仅在其租户中有效的访问令牌。