2021-10-29 12:09:04 -04:00
|
|
|
= Testing with CSRF
|
|
|
|
|
2021-12-13 17:57:36 -05:00
|
|
|
Spring Security also provides support for CSRF testing with `WebTestClient` -- for example:
|
2021-10-29 12:09:04 -04:00
|
|
|
|
2023-06-18 22:30:41 -04:00
|
|
|
[tabs]
|
|
|
|
======
|
|
|
|
Java::
|
|
|
|
+
|
2021-10-29 12:09:04 -04:00
|
|
|
[source,java,role="primary"]
|
|
|
|
----
|
2023-04-11 08:56:19 -04:00
|
|
|
import static org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.csrf;
|
|
|
|
|
2021-10-29 12:09:04 -04:00
|
|
|
this.rest
|
|
|
|
// provide a valid CSRF token
|
|
|
|
.mutateWith(csrf())
|
|
|
|
.post()
|
|
|
|
.uri("/login")
|
|
|
|
...
|
|
|
|
----
|
|
|
|
|
2023-06-18 22:30:41 -04:00
|
|
|
Kotlin::
|
|
|
|
+
|
2021-10-29 12:09:04 -04:00
|
|
|
[source,kotlin,role="secondary"]
|
|
|
|
----
|
2023-04-11 08:56:19 -04:00
|
|
|
import org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.csrf
|
|
|
|
|
2021-10-29 12:09:04 -04:00
|
|
|
this.rest
|
|
|
|
// provide a valid CSRF token
|
|
|
|
.mutateWith(csrf())
|
|
|
|
.post()
|
|
|
|
.uri("/login")
|
|
|
|
...
|
|
|
|
----
|
2023-06-18 22:30:41 -04:00
|
|
|
======
|