Office 365 API 用户同意使用外部 Office 365 企业帐户

Office 365 API User Consent for external Office 365 Business Account

我已经在 Azure 门户上注册了一个 App ABC。 应用程序 ABC 的客户端 ID:XYZ999 和客户端密码:MNO123

有两个用户 O365 企业帐户。

1) UserA@ooo.onmicrosoft.com(与我用来注册 App ABC 的 Azure 门户关联)

2) UserB@yyy.onmicrosoft.com(这是第三方的外部O365账户,与我的Azure Portal目录或用户没有关联)

我的页面上有一个按钮。单击此按钮应该允许我的应用程序 authenticate/ask 用户同意并向我提供授权代码,我可以使用它来生成访问令牌。

单击此按钮会将用户重定向到 https://login.windows.net/common/oauth2/authorize?response_type=code&resource=https%3A%2F%2Fmanage.office.com&client_id=XYZ999&redirect_uri=SomeUrl

重定向正确,显示了正确的登录页面。

如果我通过为 UserA 提供凭据登录,则登录成功并且我能够看到允许用户授予对 App ABC 的访问权限的页面。 Post 此用户被重定向到 "SomeUrl",并在 URL 参数中使用正确的 "code"。

问题 -> 但是当我尝试通过为 UserB 提供凭据登录时,在单击“登录”按钮后立即收到错误消息,在目录 yyy.onmicrosoft.com.[=12 中找不到客户端 ID =]

我曾尝试将 Azure 门户上的应用程序 ABC 的多租户从 "No" 切换到 "Yes",但没有帮助。

我错过了什么?

Azure AD 似乎需要一些时间才能使 Azure AD 上的多租户:"Yes" 选项生效。