即使将应用设置为多租户后也无法连接到来自不同租户的 Azure 广告应用
Can't connect to azure ad app from different tenants even after setting app as multi tenant
我决定从旧的 Azure 门户创建应用程序并将应用程序设置为多租户。
我已经为令牌设置了 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@testercore.onmicrosoft.com' 在租户 'mary' 中不存在,无法访问其中的应用程序“8adfad2b-f28a-40a6-8698-8b53ac506132”租户。需要先在租户中将账号添加为外部用户。注销并使用不同的 Azure Active Directory 用户帐户重新登录。
如果我在 azure 中手动添加此用户,那么我将获得访问令牌,但事实并非如此。这必须在运行时发生,因为我的应用程序是多租户的。你能告诉我哪里可能出错吗?
您需要使用 https://login.microsoftonline.com/common/oauth2/authorize
端点。
这是允许从任何 Azure AD 租户登录的公共 端点。您不应在多租户应用程序中使用特定于租户的端点。
至于获取访问令牌,您必须使用登录用户的租户 ID。通过这种方式,您可以获得仅在其租户中有效的访问令牌。
我决定从旧的 Azure 门户创建应用程序并将应用程序设置为多租户。
我已经为令牌设置了 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@testercore.onmicrosoft.com' 在租户 'mary' 中不存在,无法访问其中的应用程序“8adfad2b-f28a-40a6-8698-8b53ac506132”租户。需要先在租户中将账号添加为外部用户。注销并使用不同的 Azure Active Directory 用户帐户重新登录。
如果我在 azure 中手动添加此用户,那么我将获得访问令牌,但事实并非如此。这必须在运行时发生,因为我的应用程序是多租户的。你能告诉我哪里可能出错吗?
您需要使用 https://login.microsoftonline.com/common/oauth2/authorize
端点。
这是允许从任何 Azure AD 租户登录的公共 端点。您不应在多租户应用程序中使用特定于租户的端点。
至于获取访问令牌,您必须使用登录用户的租户 ID。通过这种方式,您可以获得仅在其租户中有效的访问令牌。