Class SecurityMockServerConfigurers


  • public final class SecurityMockServerConfigurers
    extends java.lang.Object
    Test utilities for working with Spring Security and WebTestClient.Builder.apply(WebTestClientConfigurer).
    Since:
    5.0
    • Method Detail

      • springSecurity

        public static org.springframework.test.web.reactive.server.MockServerConfigurer springSecurity()
        Sets up Spring Security's WebTestClient test support
        Returns:
        the MockServerConfigurer to use
      • mockAuthentication

        public static <T extends org.springframework.test.web.reactive.server.WebTestClientConfigurer & org.springframework.test.web.reactive.server.MockServerConfigurer> T mockAuthentication​(org.springframework.security.core.Authentication authentication)
        Updates the ServerWebExchange to use the provided Authentication as the Principal
        Parameters:
        authentication - the Authentication to use.
        Returns:
        the configurer to use
      • mockUser

        public static <T extends org.springframework.test.web.reactive.server.WebTestClientConfigurer & org.springframework.test.web.reactive.server.MockServerConfigurer> T mockUser​(org.springframework.security.core.userdetails.UserDetails userDetails)
        Updates the ServerWebExchange to use the provided UserDetails to create a UsernamePasswordAuthenticationToken as the Principal
        Parameters:
        userDetails - the UserDetails to use.
        Returns:
        the configurer to use
      • mockUser

        public static SecurityMockServerConfigurers.UserExchangeMutator mockUser​(java.lang.String username)
        Updates the ServerWebExchange to use a UserDetails to create a UsernamePasswordAuthenticationToken as the Principal. This uses a default password of "password" and granted authorities of "ROLE_USER".
        Returns:
        the WebTestClientConfigurer to use
      • mockJwt

        public static SecurityMockServerConfigurers.JwtMutator mockJwt()
        Updates the ServerWebExchange to establish a SecurityContext that has a JwtAuthenticationToken for the Authentication and a Jwt for the Authentication.getPrincipal(). All details are declarative and do not require the JWT to be valid.
        Returns:
        the SecurityMockServerConfigurers.JwtMutator to further configure or use
        Since:
        5.2
      • mockOAuth2Client

        public static SecurityMockServerConfigurers.OAuth2ClientMutator mockOAuth2Client()
        Updates the ServerWebExchange to establish a OAuth2AuthorizedClient in the session. All details are declarative and do not require the corresponding OAuth 2.0 tokens to be valid.

        The support works by associating the authorized client to the ServerWebExchange via the WebSessionServerOAuth2AuthorizedClientRepository

        Returns:
        the SecurityMockServerConfigurers.OAuth2ClientMutator to further configure or use
        Since:
        5.3
      • mockOAuth2Client

        public static SecurityMockServerConfigurers.OAuth2ClientMutator mockOAuth2Client​(java.lang.String registrationId)
        Updates the ServerWebExchange to establish a OAuth2AuthorizedClient in the session. All details are declarative and do not require the corresponding OAuth 2.0 tokens to be valid.

        The support works by associating the authorized client to the ServerWebExchange via the WebSessionServerOAuth2AuthorizedClientRepository

        Parameters:
        registrationId - The registration id associated with the OAuth2AuthorizedClient
        Returns:
        the SecurityMockServerConfigurers.OAuth2ClientMutator to further configure or use
        Since:
        5.3