#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. Если мой вопрос непонятен, не стесняйтесь, скажите мне, пожалуйста. Я должен решить эту проблему как можно скорее.