Class ScramClient

java.lang.Object
com.ongres.scram.client.ScramClient

public class ScramClient extends Object
A class that can be parametrized to generate ScramSessions. This class supports the channel binding and string preparation mechanisms that are provided by module scram-common. The class is fully configurable, including options to selected the desired channel binding, automatically pick the best client SCRAM mechanism based on those supported (advertised) by the server, selecting an externally-provided SecureRandom instance or an external nonceProvider, or choosing the nonce length. This class is thread-safe if the two following conditions are met:
  • The SecureRandom used (SecureRandom by default) are thread-safe too. The contract of Random marks it as thread-safe, so inherited classes are also expected to maintain it.
  • No external nonceSupplier is provided; or if provided, it is thread-safe.
So this class, once instantiated via the ScramClient.Builder.setup()} method, can serve for multiple users and authentications.