我已经在我们的Azure AD (AAD)中进行了应用注册,该应用已启用多租户。此注册已在另一个(客户端) AAD租户中成功注册(已给予管理员同意)。
我使用MSALCore2.1和.Net 2.0库进行身份验证。
我需要从我们的管理应用程序中使用Microsoft Graph访问客户端AAD,以便在使用原始AAD (应用程序注册创建的位置)中的用户登录时读取客户端AAD组。
我已经阅读了这篇文章https://docs.microsoft.com/en-us/graph/auth-v2-service并从客户端请求了一个令牌(步骤4)。当我使用此内标识访问客户端和an组时,我收到访问被拒绝的错误。
当我在客户端租户和AAD中创建一个没有启用多租户的应用程序注册时,它工作得很好。有没有可能实现我想要实现的目标?我认为我不是唯一一个想要从管理应用程序访问客户端和a的人,但我找不到任何其他描述此问题的文章。
发布于 2018-12-20 16:03:04
当我使用原始AAD (应用注册创建的地方)中的用户登录时,我需要从我们的管理应用程序中使用Microsoft Graph访问客户端
,以读取客户端AAD组。
您只能使用客户端AAD组织中的帐户登录,不能使用来自原始AAD的用户登录。除非您将用户从原始AAD添加到客户端AAD。
例如,您在AAD1中注册了一个app,您可以使用AAD1中的帐户登录来管理受AAD1保护的资源;如果app是多租户应用,在AAD2中授予权限后,AAD2中的用户可以使用自己的帐户登录app来管理受AAD2保护的资源。除非您将用户从原始AAD添加到客户端AAD作为访客用户。
我已经阅读了这篇文章https://docs.microsoft.com/en-us/graph/auth-v2-service,并从客户端
请求了一个令牌(步骤4)。当我使用此内标识访问客户端和an组时,我收到一个访问被拒绝的错误。
您正在使用Client Credential Flow获取令牌,使用的是应用的标识,而不是用户的标识。如果你想使用用户身份登录app,你应该使用OAuth 2.0 code grant flow。
https://stackoverflow.com/questions/53864332
复制相似问题