在Azure中将单租户转换为多租户应用程序
我有一个客户端应用程序,它以守护程序模式运行。 此守护进程将与Azure中创建的应用程序(当前为单租户)对话,以使用O365 Graph API获取用户。 使用的身份验证机制是Auth2证书/指纹。 在azure中创建应用程序时,管理员直接授予应用程序权限 现在我需要在azure中将这个守护进程(客户端)和应用程序作为多租户。 我读了一些文章之后关注的事情在Azure中将单租户转换为多租户应用程序,azure,office365,azure-active-directory,microsoft-graph-api,office365-apps,Azure,Office365,Azure Active Directory,Microsoft Graph Api,Office365 Apps,我有一个客户端应用程序,它以守护程序模式运行。 此守护进程将与Azure中创建的应用程序(当前为单租户)对话,以使用O365 Graph API获取用户。 使用的身份验证机制是Auth2证书/指纹。 在azure中创建应用程序时,管理员直接授予应用程序权限 现在我需要在azure中将这个守护进程(客户端)和应用程序作为多租户。 我读了一些文章之后关注的事情 在azure中将应用程序标记为多租户 指向客户端(作为守护进程运行)中的令牌url中的/common 问题: 在此之后,我能够获得访问令牌,
client\u凭据
流登录\OAuth2\token端点时,无法使用公共端点。这是因为common设计用于识别用户的“主”目录,当用户以交互方式登录时,除非被覆盖,否则会重定向到用户的主目录李>
二,三。租户B没有获得注册的应用程序,它只获得企业应用程序。链接的注册应用程序应该是租户A,这里的通信不是双向的。A在A中有一个企业应用程序,在B中有一个企业应用程序。您可以使用A中注册的应用程序为所有企业应用程序设置权限,但管理员/用户(取决于权限类型)必须在各自的租户(A&B)中授予权限。当您以用户身份登录时,您将使用应用程序注册。为了访问B,您必须调用包含B的租户id的令牌端点
要使一个应用程序能够访问多个租户,您需要:
New-AzureRmServicePrincipal-ApplicationId
,其中是您前面提到的一个李>
这将基于租户a中的应用程序在租户B中创建服务主体。然后,租户B中的应用程序将能够使用令牌端点登录访问 我的用例如下所示。我将执行图形api调用来检查用户是否存在。如果用户存在,则应同时在两个租户中进行检查,并返回用户信息。[这应该是可扩展的,而不是2可以有更多的租户,但假设我是所有租户的管理员,因此发送每个租户的租户id和访问令牌,然后向Graph API发送请求不是一个选项]3。当客户端应用程序作为deamon服务运行时,我只能使用客户端凭据身份验证流。任何实现此目的的建议??此[链接]()是否有帮助??不可能同时检查多个租户。您需要使用
client\u凭证
flow独立登录到每个租户。您需要将逻辑写入代码以处理通过每个租户的循环,运行检查,如果检查未完成则抛出OK。在这种情况下,一个应用程序(我的客户端)就足以与所有租户对话了?从一个应用程序中,我如何与多个租户交谈?谢谢Phil!我想现在我对如何进行有了一些想法!!