努力让 Playwright 使用 Azure Active Directory 条件访问

Struggling to get Playwright to work with Azure Active Directory Conditional Access

我正在围绕我们的前端 PHP 应用程序建立一个 Playwright 测试框架,以便为我们的团队制作自动化测试原型。我们的身份验证由 Azure Active Directory 管理,具有 2FA 以及我们设备的条件访问。我遇到的问题是条件访问不喜欢 Playwright 使用的伪隐身 Chromium 浏览器。以下是我在 Edge InPrivate window 中尝试登录时收到的消息(与 Chromium 相同的错误消息):

我已经浏览了 Playwright 文档中的身份验证部分并进行了搜索,但我没有成功解决条件访问问题。我目前 运行 失败的 TypeScript 代码是:

import test from "@playwright/test";
const { chromium } = require('playwright');

test('Log into Application', async () => {
    const userDataDir = '\UserData';
    const context = await chromium.launchPersistentContext(userDataDir, { headless: false });

    const page = await context.newPage();
    await page.goto('https://MyApplication.com');
    await page.pause();
})

任何帮助将不胜感激。

  1. 根据 Grant controls | Microsoft Docs 中的最后一个项目符号点。

Conditional Access cannot consider Microsoft Edge in InPrivate mode as a compliant device or an approved client app.

  1. 要在普通的 chromium 浏览器(非隐私模式)中工作,您需要根据您的操作系统安装 运行 受支持的浏览器。如果您使用的是 Windows 10,支持的浏览器包括 Microsoft Edge、Internet Explorer,并且 Google Chrome.If 您使用的是不同的操作系统,您可以查看完整列表 supported browsers.

(或)

  1. 错误消息可能是因为全局管理员出于安全原因在贵公司的 Office 365 租户中创建了条件访问策略,因此只有在 Azure 中注册的特定设备才被允许为您使用。因此,在这种情况下,您应该与贵公司的“IT HelpDesk”部门联系,并要求他们配置并允许那里的所有浏览器。

管理员可以使用访问控制来授予或阻止对资源的访问:Grant controls

您可能需要联系管理员以从 Office 365 管理中心提出支持请求以进行进一步调查

参考:Troubleshooting compliance error

If you have global admin rights,You can troubleshoot unexpected sign-in outcomes related to Conditional Access using error messages and Azure AD sign-ins log.

  • You can click on more details and see the information.

  • Sign in to the Azure portal as a global administrator, security administrator, or global reader

  • Browse toAzure Active Directory > Sign-ins.

  • Find the event for the sign-in to review. Add or remove filters .

  • The Conditional Access tab will show the specific policy or policies that resulted in the sign-in interruption.

  • You can see and check basic info, device details whether registered or not and other policy details that are not compliant .

有关故障排除的完整详细信息。请检查此 Troubleshooting | Microsoft Docs 以获取故障排除的完整详细信息。

参考:

You Can’t Get There From Here – Vince's Server Stuff (vincecarbone.com)