Cypress 2 Супердомена AntiForgeryToken = Cypress не может быть перенаправлен

#cypress #antiforgerytoken #samesite

Вопрос:

В настоящее время я работаю над настройкой решения Cypress для тестирования продукта на основе Nuxt и .NET. Продукт использует страницу входа на основе единого входа с супердоменом, отличным от продукта.

Это создает проблему с файлами cookie. Действительно, доступ к продукту создает перенаправление на страницу аутентификации единого входа. И, после проверки формы аутентификации, Chrome, управляемый Cypress, входит в цикл вызовов с ошибками в атрибутах файла cookie, в частности, значение атрибута SameSite, которое неверно по сравнению с ожидаемой стороной единого входа.

В настоящее время в браузере отключены несколько функций, а именно :

  • То же самое, что и с плохими кулинарными рецептами
  • Перекрестное блокирование документов и изоляция
  • Перекрестное блокирование документов и изоляция
  • ИзолятоОригины
  • сайт для каждого процесса

Выдержка из cypress/plugins/index.js

   on('before:browser:launch', (browser = {}, launchOptions) => {
    if (browser.family === 'chromium') {
      launchOptions.args.push(
        "--disable-features=SameSiteByDefaultCookies,CrossSiteDocumentBlockingIfIsolating,CrossSiteDocumentBlockingIfIsolating,IsolateOrigins,site-per-process"
      );
    }
    console.log(launchOptions.args);
    return launchOptions
  });
 

Даже отключив все средства защиты на SSO, невозможно заставить Cypress работать.

Вот файл Excel со всеми HTML-запросами, перечисленными через консоль Chrome. Файл описывает различия между хромом, управляемым Cypress, и «классическим» хромом.

ПРИМЕЧАНИЕ: добавление "chromeWebSecurity": false, в конфигурацию Cypress ничего не меняет

Не до конца понимая, в чем заключаются основные проблемы, я не могу хорошо описать эту проблему. Всех решений, предложенных для подобных проблем, представленных на различных форумах (включая StackOverflow), было недостаточно для решения моей проблемы. Вы можете мне помочь, пожалуйста ?

Заранее спасибо.

С уважением, Александр.

Комментарии:

1. Если мой вопрос непонятен, не стесняйтесь, скажите мне, пожалуйста. Я должен решить эту проблему как можно скорее.