小编jav*_*eek的帖子

如何将 CSRF Token 设置为不同的上下文路径

我们基于 Angular 的 web 应用程序与在不同域和上下文路径上运行的企业门户集成。我正在使用基于 Spring Security 的 CSRF 令牌来验证传入的请求。该应用程序在本地运行良好,但是当我将它与门户集成时,所有的 post 调用都失败了 403,因为 Angular 无法读取 XSRF-Token 并将请求标头中的 X-XSRF-Token 设置为 API 调用。经过调查,我发现门户和我们的应用程序的上下文路径不同,因此 spring 将带有路径、过期和域的 XSRF-Token 设置为 Null。当 spring 创建它时,有什么方法可以将 XSRF-Token 设置为特定的 cookie 路径?

注意:我有一个替代解决方案来创建过滤器并从请求标头中读取 cookie,并使用我想要的路径在浏览器上放置一个新的 cookie。我正在寻找配置级别的解决方案。

csrf x-xsrf-token

5
推荐指数
1
解决办法
2592
查看次数

WebDriverError:会话 ID 无效

我正在尝试将自动化测试容器化以在 docker 环境中运行。当构建在自动化代码上运行时,它会创建一个 docker 映像并在 DTR 中更新。我有一个单独的 jenkins 管道,它在 docker 映像中运行自动化命令并将结果上传到工作区中。所有这些设置在非 docker 环境(即本地 mac 终端)中都运行良好,但相同的测试在 docker 环境中失败。我正在尝试找出解决方案,但似乎不起作用。

\n\n

在 docker 环境中运行量角器测试时出现以下错误

\n\n

# test/cucumber/stepDefinitions/hooks.ts:31\n WebDriverError: 无效会话 id\n (驱动程序信息: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Linux 4.9.125-linuxkit x86_64) 之后

\n\n

我从 Circleci/node ( https://hub.docker.com/r/circleci/node/ ) 构建了 docker 映像,并且该映像需要安装库(node、npm、yarn、chrome 和 chrome 驱动程序)。

\n\n

在运行测试之前,我确保量角器、黄瓜和 webdriver 模块已安装。

\n\n

即便如此,我仍在尝试安装 chrome 和 chrome 驱动程序,同时使用 apt-get 包管理器构建映像。

\n\n

docker env 位于 Debian GNU/Linux 9 \\n \\l\nchrome 驱动程序版本为 \n73.0.3683.75-1~deb9u1\nGoogle Chrome 版本为 73.0.3683.103 \n我正在无头运行

\n\n
Making sure the webdriver manager is updated …
Run Code Online (Sandbox Code Playgroud)

automation cucumber docker protractor

5
推荐指数
2
解决办法
6043
查看次数

标签 统计

automation ×1

csrf ×1

cucumber ×1

docker ×1

protractor ×1

x-xsrf-token ×1