Scala Play - 如何在响应消失之前修改 Cookie 设置值?
Scala Play - How to Modify Cookie setting value before response goes out?
我有一个关于 2.7.3 版 Scala Play 框架的项目。我需要解决能够将 cookie 的 Samesite 值设置为 'None' 的问题。目前在 2.7.3 中,您只能通过枚举设置为 'Lax' 或 'Strict'。将值设置为 'None' has been backported for 2.7.x 但尚未发布的能力。
我现在需要解决这个问题,等不及未来的发布了。我很难弄清楚如何在给定框架内将 Cookie 的 Samesite 值设置为 'None'。
为了修改过滤器中的响应结果,我看到我可以调用 result.withCookie(),它需要一个或多个 play.api.mvc.cookie。我已尝试扩展和修改 play.api.mvc.cookie,但 Samesite class 被密封在 Cookie class 中。
我认为我可以在响应消失之前使用 Essential Filter 或 Action 来修改 cookie,但没有找到获取现有 CSRF cookie 或 Play_Session 的方法cookie 并修改它。
有什么想法吗?
我认为解决方法可能是使用 @rowan_m 提到的代理。幸运的是,Lightbend 回复了我并将很快发布他们的 2.8 版本——我在 RC 中验证了使用配置设置解决了这个问题:https://github.com/playframework/playframework/pull/9613#issuecomment-555305142
我有一个关于 2.7.3 版 Scala Play 框架的项目。我需要解决能够将 cookie 的 Samesite 值设置为 'None' 的问题。目前在 2.7.3 中,您只能通过枚举设置为 'Lax' 或 'Strict'。将值设置为 'None' has been backported for 2.7.x 但尚未发布的能力。
我现在需要解决这个问题,等不及未来的发布了。我很难弄清楚如何在给定框架内将 Cookie 的 Samesite 值设置为 'None'。
为了修改过滤器中的响应结果,我看到我可以调用 result.withCookie(),它需要一个或多个 play.api.mvc.cookie。我已尝试扩展和修改 play.api.mvc.cookie,但 Samesite class 被密封在 Cookie class 中。
我认为我可以在响应消失之前使用 Essential Filter 或 Action 来修改 cookie,但没有找到获取现有 CSRF cookie 或 Play_Session 的方法cookie 并修改它。
有什么想法吗?
我认为解决方法可能是使用 @rowan_m 提到的代理。幸运的是,Lightbend 回复了我并将很快发布他们的 2.8 版本——我在 RC 中验证了使用配置设置解决了这个问题:https://github.com/playframework/playframework/pull/9613#issuecomment-555305142