Class ScramClient.PreBuilder2

    • Field Detail

      • stringPreparation

        protected final com.ongres.scram.common.stringprep.StringPreparation stringPreparation
      • nonChannelBindingMechanism

        protected com.ongres.scram.common.ScramMechanism nonChannelBindingMechanism
      • channelBindingMechanism

        protected com.ongres.scram.common.ScramMechanism channelBindingMechanism
    • Method Detail

      • selectMechanismBasedOnServerAdvertised

        public ScramClient.Builder selectMechanismBasedOnServerAdvertised​(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:
        IllegalArgumentException - If no server mechanisms are provided
        See Also:
        SASL SCRAM Family Mechanisms
      • selectClientMechanism

        public ScramClient.Builder selectClientMechanism​(com.ongres.scram.common.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:
        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