gpt4 book ai didi

cypress - SSO 重定向后如何通过基本身份验证?

转载 作者:行者123 更新时间:2023-12-03 20:52:01 25 4
gpt4 key购买 nike

我是 Cypress 和 JS 的新手。如果未登录,我正在测试的应用程序将重定向到 stub IDP 页面。该应用程序也支持基本身份验证。我在测试中所做的就是cy.visit("https://username:password@app_url.com")这会将我重定向到 stub IDP 页面,我在其中单击登录按钮cy.contains('button', 'Log in').click() .这将重定向回应用程序主页。
但是,在重定向时,它提示我再次填写基本身份验证。有没有办法传递重定向后记住的基本身份验证 header ?
stub IDP 用于基于 SAML 的 SSO,它的工作量太大,或者我应该说我缺乏创建服务器请求以获取身份验证 token 的知识。所以现在寻找一个简单的解决方法。

最佳答案

我遇到了同样的问题,我刚刚使用 cy.intercept() 解决了它!
您必须使用 cy.intercept在新的重定向 URL 上,并将基本授权 header 添加到请求中。

  • 生成基本认证头 ,你可以在这里生成:https://www.blitter.se/utils/basic-authentication-header-generator/
  • 找到目标网址 ,对于您来说,它是应用程序主页。
  • 也许有几个重定向,您可以在打开模式下运行测试时找到具有基本身份验证的最后一个,取消弹出窗口后,您将在运行程序中看到这一点

  • redirected url
  • “新网址”是您想要的网址
  • 在测试中,添加 intercept()单击按钮之前的命令。 将授权 header 添加到传出请求中,这是在重定向测试时触发的。

  • cy.intercept(`<TARGET_URL>`, (req) => {
    req.headers['Authorization'] = `<BASIC_AUTH_HEADER_VALUE>`;
    });
    在这里,您可以阅读有关向传出请求和拦截功能添加 header 的更多信息:
    https://docs.cypress.io/api/commands/intercept#Adding-a-header-to-an-outgoing-request

    关于cypress - SSO 重定向后如何通过基本身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62387073/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com