Azure Active Directory邀请管理器,在另一个租户中注册用户

时间:2017-11-03 18:06:55

标签: azure azure-active-directory

我要做的是自动化将新用户添加到租户的Azure Active Directory的过程(租户作为参数提供)。

为此,我了解到我必须使用Azure AD B2B协作。 Microsoft在此链接提供了自动执行此过程的官方示例:

https://github.com/Azure/active-directory-dotnet-graphapi-b2bportal-web

因此,使用邀请API(可在此处获取:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/invitation_post),我以编程方式将邀请邮件发送到我想要注册的电子邮件。

问题是将在该电子邮件中注册的用户将在配置了该应用程序的租户中注册。

例如,我使用租户名称X,在Azure Active Directory门户中配置我的应用程序。我看到的是,我只能邀请电子邮件在我的租户X中注册。

如果我想在另一个租户,我事先知道的租户中注册一个电子邮件怎么办?

邀请Api是否可以指定我想在哪个租户注册电子邮件,而无需在该租户中注册该应用程序?

因为如果我不能,我必须在所有租户中注册该应用程序,然后在代码中应用逻辑以将客户端ID和客户端密钥链接到正确的租户。

1 个答案:

答案 0 :(得分:0)

如果我已正确理解您的问题,您需要一个多租户应用。

当您获得Microsoft Graph API的访问令牌时,它将始终以特定租户为目标。

要获取针对其他租户的访问令牌,您必须:

  1. 让您的应用成为多租户:https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-devhowto-multi-tenant-overview
  2. 其他租户的管理员必须执行注册,并要求他们同意您的应用所需的权限
    • 这通常意味着在查询中使用prompt=admin_consent重定向到登录页面
  3. 在他们同意之后,将在他们的租户中创建服务主体,并且他们将照常重定向回您的应用程序
  4. 现在,您可以获取针对其租户的访问令牌,并使用它来调用图谱API