Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure active directory 使用Graph API绕过多租户Azure应用程序的MFA以访问合作伙伴租户_Azure Active Directory_Microsoft Graph Api_Msal_Msal.js - Fatal编程技术网

Azure active directory 使用Graph API绕过多租户Azure应用程序的MFA以访问合作伙伴租户

Azure active directory 使用Graph API绕过多租户Azure应用程序的MFA以访问合作伙伴租户,azure-active-directory,microsoft-graph-api,msal,msal.js,Azure Active Directory,Microsoft Graph Api,Msal,Msal.js,我们是管理客户365办公室租赁的MSP 我们有一个门户,我们使用Microsoft身份验证库(MSAL.js)登录该门户,并收到一个针对应用程序成功进行身份验证的令牌 由于我们与这些其他客户租约建立了“关系”,因此我们可以使用自己的凭据(委托权限)使用全局管理员权限对其进行管理。 结构是这样的: 我们的租约 客户1 客户2 一旦登录到我们的门户,我们就有了一系列客户1和客户2的租户ID。 我们使用相同的MSAL.js连接到他们的租约,指定App ID和https://login.microso

我们是管理客户365办公室租赁的MSP

我们有一个门户,我们使用Microsoft身份验证库(MSAL.js)登录该门户,并收到一个针对应用程序成功进行身份验证的令牌

由于我们与这些其他客户租约建立了“关系”,因此我们可以使用自己的凭据(委托权限)使用全局管理员权限对其进行管理。 结构是这样的:

  • 我们的租约
  • 客户1
  • 客户2
  • 一旦登录到我们的门户,我们就有了一系列客户1和客户2的租户ID。 我们使用相同的MSAL.js连接到他们的租约,指定App ID和
    https://login.microsoftonline.com/{tenantId}

    身份验证成功,我们可以使用Graph API收集数据,即,
    https://graph.microsoft.com/v1.0/organization

    我们可以在登录我们的门户时无限次地运行它,它将递归地通过每个租户运行,并成功地检索数据

    一旦我们注销门户并重新登录,就会出现以下错误:

    AADSTS50076:由于管理员进行了配置更改, 或者因为您移动到了一个新位置,您必须使用多因素 访问“00000003-0000-0000-c000-000000000000”的身份验证

    每个客户的手机上都会弹出Multi-factor,一旦再次授权,我就可以经常使用API,但是下次注销/登录时,同样的问题也会发生

    我已经用多个站点的IP指定了指定的位置,我还排除了MFA的这些特定IP,这些IP仅在登录时有效,我们不会收到MFA请求

    Office 365技术人员与我一起查看此内容,但无法使其正常工作,并指示我访问Azure支持,该支持需要进一步订阅

    是否有人知道我们在使用API连接租户时可以使用何种方法绕过MFA

    编辑:


    我们获取令牌的方法概述如下:

    您是Microsoft CSP吗?如果是,原因可能是您用于获取访问令牌的方法与启用了MFA的帐户不兼容。您需要实现安全应用程序模型框架以获取访问令牌:。请参阅此帖子:。嗨,艾伦,谢谢你的链接。是的,我们是CSP!我已尝试通过PowerShell实现此功能,但在运行cmdlet创建
    新PartnerAccessToken
    后,我被重定向并请求登录,我做到了。我收到了一个“需要事先同意”页面,页面上的注释是“占位符文本的预期长度与我们可能从PMs收到的长度相似。一旦新字符串可用,请填写此内容。”我可以确认我已登录到应用程序页面并同意此处的所有权限。我错过了什么?ThanksHi Allen,进一步研究,我们希望使用Graph API,而不是partner center API。我们使用的方法是有效的,只要求每个客户每次注销/登录时都提供MFA。我们使用的解决方案是:抱歉延迟。我刚度假回来。看来这个问题已经解决了。您可以发布答案并将其标记为已回答,以帮助其他人。