Active directory 使用外部用户登录多租户应用程序时出现访问被拒绝错误

Active directory 使用外部用户登录多租户应用程序时出现访问被拒绝错误,active-directory,azure-active-directory,multi-tenant,azure-ad-graph-api,Active Directory,Azure Active Directory,Multi Tenant,Azure Ad Graph Api,我已经实现了多租户应用程序。我可以从其他目录和同一目录用户登录,但当我使用外部用户或来宾用户登录时,我会遇到访问被拒绝错误 Eg:我的目录域名类似于sample.onmicrosoft.com。使用test@sample.onmicrosoft.com能够登录到我的应用程序,但当用户喜欢test@sample-softwaresolutions.com无法登录我的应用程序 错误如下 #error=access_denied&error_description=AADSTS65005%3a

我已经实现了多租户应用程序。我可以从其他目录和同一目录用户登录,但当我使用外部用户或来宾用户登录时,我会遇到访问被拒绝错误

Eg:我的目录域名类似于sample.onmicrosoft.com。使用test@sample.onmicrosoft.com能够登录到我的应用程序,但当用户喜欢test@sample-softwaresolutions.com无法登录我的应用程序

错误如下

#error=access_denied&error_description=AADSTS65005%3a+Using application is currently not supported for your Organizationname.com.com because it is in an unmanaged state. An administrator needs to claim ownership of the company by DNS validation of Organizationname.com. before the application AppName can be provisioned.%0d%0aTrace+ID%3a+1cc5197f-2580-4b09-8f22-e2ad20520900%0d%0aCorrelation+ID%3a+13c719cf-ee2a-49d0-bb11-e9b84fb15843%0d%0aTimestamp%3a+2017-09-24+12%3a20%3a03Z&state=b2662aef-dd29-4a80-b6fd-09e47d991934
或者参见下图

欢迎您的回答


提前感谢

如消息所述,您必须按照给出的详细信息验证您的域[DNS验证]

有两种模式可转换为托管应用程序

内部收购 比如说,一位来自贝洛斯学院的IT管理员发现该学院的用户已经注册了自助服务。作为DNS名称BellowsCollege.com的注册所有者,IT管理员可以在Azure中验证DNS名称的所有权,然后接管非托管目录。然后,该目录成为托管目录,IT管理员被指派为BellowsCollege.com目录的全局管理员角色

外部接管例如,假设您是IT管理员 您已经有一个域Contoso.com的托管目录 向您的组织注册的名称。您发现用户 来自您所在组织的已执行自助注册的 使用电子邮件域名提供user@contoso.co.uk,即 您的组织拥有的另一个域名。这些用户目前 在contoso.co.uk的非托管目录中拥有帐户


有关于给定链接的更多详细信息。

这是预期错误,因为当多租户应用程序在授权端点中使用
common
时。和Azure AD通过帐户用户输入确定Azure Active Directory。因此Azure AD将采用默认的Azure Active Directory,而不是作为外部用户添加帐户的租户。这是合理的,因为我们可能会将相同的用户添加到许多其他目录中


因此,如果我们想与外部用户一起登录多租户应用程序,我们应该在授权端点中使用特定租户,而不是使用
common

嗨,你能检查一下我最近更改的示例并重播我吗。谢谢,你能检查一下我最近更改的示例并重播我吗。Thanks@BalarajuPolaki正如我提到的,没有使用
common
endpoint(
https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=eca61fd9-f491-4f03-a622-90837bbc1711&重定向(uri=https%3A%2F%2Flocalhost%3A44320&资源=https%3A%2F%2Fgraph.windows.net&nonce=123
),我们应该使用特定的租户,如
https://login.microsoftonline.com/sample-softwaresolutions.com/oauth2/authorize?response_type=code&client_id=eca61fd9-f491-4f03-a622-90837bbc1711&redirect_uri=https%3A%2F%2Flocalhost%3A44320&resource=https%3A%2F%2Fgraph.windows.net&nonce=123
Hi Fei Xue,感谢您的重播,实际上我的应用程序是如果我把“示例软件解决方案”放在‌​“om”而不是“普通”它将只接受单个租户。你是对的。这只是这个问题的基本知识。在场景中实施解决方案时,你需要考虑如何提供UI。例如,应用程序可能会提供另一个入口页面,要求用户输入他们想作为外部用户登录的租户,而不是默认的目录他们属于哪个城市。