夸克斯 - 修改JSESSIONID属性

问题描述 投票:1回答:1

有没有办法将SameSite=None属性添加到JSSESSIONID cookie中。我试着添加 exists(%{o,Set-Cookie}) and regex(pattern="JSESSIONID", value="%{o,Set-Cookie}") -> set(attribute='%{o,Set-Cookie}', value='%{o,Set-Cookie}; Secure; SameSite=None') 中的处理程序,但看起来这个处理程序是在Set-Cookie.JSESSIONID头设置之前执行的。JSESSIONID头被设置。

quarkus
1个回答
0
投票

我找到了解决方案。虽然不是很干净,但还是可以用的。首先,我从underow源头复制了三个类。CookieSameSiteMode.java, SameSiteCookieHandler.java and SameSiteNoneIncompatibleClientChecker.java. 接下来我改变了sameSiteMode属性的设置,因为setSameSiteMode的实现会在值不等于 "lax "或 "strict "时抛出异常,所以我必须使用反射来直接设置字段值。接下来我在META-INF目录下添加了underow-handlers.conf,内容是 samesite-cookie(mode='None', add-secure-for-none=true).最后,我在META-INFservices目录下添加了io.underow.server.handlers.builder.HandlerBuilder文件,我在这里注册了我的处理程序。完整的例子可以在我的 github

© www.soinside.com 2019 - 2024. All rights reserved.