Class HaveIBeenPwnedRestApiReactivePasswordChecker

java.lang.Object
org.springframework.security.web.authentication.password.HaveIBeenPwnedRestApiReactivePasswordChecker
All Implemented Interfaces:
ReactiveCompromisedPasswordChecker

public class HaveIBeenPwnedRestApiReactivePasswordChecker extends Object implements ReactiveCompromisedPasswordChecker
Checks if the provided password was leaked by relying on Have I Been Pwned REST API. This implementation uses the Search by Range in order to protect the value of the source password being searched for.
Since:
6.3
  • Constructor Details

    • HaveIBeenPwnedRestApiReactivePasswordChecker

      public HaveIBeenPwnedRestApiReactivePasswordChecker()
  • Method Details

    • check

      public reactor.core.publisher.Mono<CompromisedPasswordDecision> check(String password)
      Description copied from interface: ReactiveCompromisedPasswordChecker
      Check whether the password is compromised
      Specified by:
      check in interface ReactiveCompromisedPasswordChecker
      Parameters:
      password - the password to check
      Returns:
      a Mono containing the CompromisedPasswordDecision
    • setWebClient

      public void setWebClient(org.springframework.web.reactive.function.client.WebClient webClient)
      Sets the WebClient to use when making requests to Have I Been Pwned REST API. By default, a WebClient with a base URL of API_URL is used.
      Parameters:
      webClient - the WebClient to use