Class ScramClient.PreBuilder2

    • Field Detail

      • nonChannelBindingMechanism

        protected java.util.Optional<ScramMechanism> nonChannelBindingMechanism
      • channelBindingMechanism

        protected java.util.Optional<ScramMechanism> channelBindingMechanism
    • Method Detail

      • selectMechanismBasedOnServerAdvertised

        public ScramClient.Builder selectMechanismBasedOnServerAdvertised​(java.lang.String... serverMechanisms)
        Inform the client of the SCRAM mechanisms supported by the server. Based on this list, the channel binding settings previously specified, and the relative strength of the supported SCRAM mechanisms for this client, the client will have enough data to select which mechanism to use for future interactions with the server. All names provided here need to be standar IANA Registry names for SCRAM mechanisms, or will be ignored.
        Parameters:
        serverMechanisms - One or more IANA-registered SCRAM mechanism names, as advertised by the server
        Throws:
        java.lang.IllegalArgumentException - If no server mechanisms are provided
        See Also:
        SASL SCRAM Family Mechanisms
      • selectMechanismBasedOnServerAdvertisedCsv

        public ScramClient.Builder selectMechanismBasedOnServerAdvertisedCsv​(java.lang.String serverMechanismsCsv)
                                                                      throws java.lang.IllegalArgumentException
        Inform the client of the SCRAM mechanisms supported by the server. Calls selectMechanismBasedOnServerAdvertised(String...) with the results of splitting the received comma-separated values.
        Parameters:
        serverMechanismsCsv - A CSV (Comma-Separated Values) String, containining all the SCRAM mechanisms supported by the server
        Throws:
        java.lang.IllegalArgumentException - If selectMechanismBasedOnServerAdvertisedCsv is null
      • selectClientMechanism

        public ScramClient.Builder selectClientMechanism​(ScramMechanism scramMechanism)
        Select a fixed client mechanism. It must be compatible with the channel binding selection previously performed. If automatic selection based on server advertised mechanisms is preferred, please use methods selectMechanismBasedOnServerAdvertised(String...) or selectMechanismBasedOnServerAdvertisedCsv(String).
        Parameters:
        scramMechanism - The selected scram mechanism
        Throws:
        java.lang.IllegalArgumentException - If the selected mechanism is null or not compatible with the prior channel binding selection, or channel binding selection is dependent on the server advertised methods