@Immutable public final class MongoCredential extends Object
| Modifier and Type | Field | Description | 
|---|---|---|
| static String | CANONICALIZE_HOST_NAME_KEY | Mechanism property key for specifying whether to canonicalize the host name for GSSAPI authentication. | 
| static String | GSSAPI_MECHANISM | The GSSAPI mechanism. | 
| static String | JAVA_SASL_CLIENT_PROPERTIES_KEY | Mechanism property key for overriding the SaslClient properties for GSSAPI authentication. | 
| static String | JAVA_SUBJECT_KEY | Mechanism property key for overriding the  Subjectunder which GSSAPI authentication executes. | 
| static String | MONGODB_CR_MECHANISM | Deprecated. 
 This mechanism was replaced by  SCRAM_SHA_1_MECHANISMin MongoDB 3.0, and is now deprecated | 
| static String | MONGODB_X509_MECHANISM | The MongoDB X.509 | 
| static String | PLAIN_MECHANISM | The PLAIN mechanism. | 
| static String | SCRAM_SHA_1_MECHANISM | The SCRAM-SHA-1 Mechanism. | 
| static String | SERVICE_NAME_KEY | Mechanism property key for overriding the service name for GSSAPI authentication. | 
| Modifier and Type | Method | Description | 
|---|---|---|
| static MongoCredential | createCredential(String userName,
                String database,
                char[] password) | Creates a MongoCredential instance with an unspecified mechanism. | 
| static MongoCredential | createGSSAPICredential(String userName) | Creates a MongoCredential instance for the GSSAPI SASL mechanism. | 
| static MongoCredential | createMongoCRCredential(String userName,
                       String database,
                       char[] password) | Deprecated. 
 MONGODB-CR was replaced by SCRAM-SHA-1 in MongoDB 3.0, and is now deprecated. Use
 the  createCredential(String, String, char[])factory method instead. | 
| static MongoCredential | createMongoX509Credential() | Creates a MongoCredential instance for the MongoDB X.509 protocol where the distinguished subject name of the client certificate
 acts as the userName. | 
| static MongoCredential | createMongoX509Credential(String userName) | Creates a MongoCredential instance for the MongoDB X.509 protocol. | 
| static MongoCredential | createPlainCredential(String userName,
                     String source,
                     char[] password) | Creates a MongoCredential instance for the PLAIN SASL mechanism. | 
| static MongoCredential | createScramSha1Credential(String userName,
                         String source,
                         char[] password) | Creates a MongoCredential instance for the SCRAM-SHA-1 SASL mechanism. | 
| boolean | equals(Object o) | |
| AuthenticationMechanism | getAuthenticationMechanism() | Gets the mechanism | 
| String | getMechanism() | Gets the mechanism | 
| <T> T | getMechanismProperty(String key,
                    T defaultValue) | Get the value of the given key to a mechanism property, or defaultValue if there is no mapping. | 
| char[] | getPassword() | Gets the password. | 
| String | getSource() | Gets the source of the user name, typically the name of the database where the user is defined. | 
| String | getUserName() | Gets the user name | 
| int | hashCode() | |
| String | toString() | |
| <T> MongoCredential | withMechanismProperty(String key,
                     T value) | Creates a new MongoCredential as a copy of this instance, with the specified mechanism property added. | 
@Deprecated public static final String MONGODB_CR_MECHANISM
SCRAM_SHA_1_MECHANISM in MongoDB 3.0, and is now deprecatedpublic static final String MONGODB_X509_MECHANISM
public static final String SCRAM_SHA_1_MECHANISM
public static final String SERVICE_NAME_KEY
createGSSAPICredential(String), 
withMechanismProperty(String, Object), 
Constant Field Valuespublic static final String CANONICALIZE_HOST_NAME_KEY
createGSSAPICredential(String), 
withMechanismProperty(String, Object), 
Constant Field Valuespublic static final String JAVA_SASL_CLIENT_PROPERTIES_KEY
Map<String, Object>.  In most cases there is no need to set this mechanism property.
 But if an application does:
 Sasl.CREDENTIALS property to an instance of
 GSSCredential.Sasl.MAX_BUFFER property to "0" to ensure compatibility with all
 versions of MongoDB.createGSSAPICredential(String), 
withMechanismProperty(String, Object), 
Sasl, 
Sasl.CREDENTIALS, 
Sasl.MAX_BUFFER, 
Constant Field Valuespublic static final String JAVA_SUBJECT_KEY
Subject under which GSSAPI authentication executes.createGSSAPICredential(String), 
withMechanismProperty(String, Object), 
Constant Field Valuespublic static MongoCredential createCredential(String userName, String database, char[] password)
userName - the user namedatabase - the database where the user is definedpassword - the user's passwordpublic static MongoCredential createScramSha1Credential(String userName, String source, char[] password)
createCredential(String, String, char[]) method to allow the driver to
 negotiate the best mechanism based on the server version.userName - the non-null user namesource - the source where the user is defined.password - the non-null user passwordcreateCredential(String, String, char[])@Deprecated public static MongoCredential createMongoCRCredential(String userName, String database, char[] password)
createCredential(String, String, char[]) factory method instead.createCredential(String, String, char[]) method to allow the driver to
 negotiate the best mechanism based on the server version.userName - the user namedatabase - the database where the user is definedpassword - the user's passwordcreateCredential(String, String, char[])public static MongoCredential createMongoX509Credential(String userName)
public static MongoCredential createMongoX509Credential()
Available on MongoDB server versions >= 3.4.
public static MongoCredential createPlainCredential(String userName, String source, char[] password)
public static MongoCredential createGSSAPICredential(String userName)
 To override the default service name of "mongodb", add a mechanism property with the name "SERVICE_NAME".
 
 To force canonicalization of the host name prior to authentication, add a mechanism property with the name
 "CANONICALIZE_HOST_NAME" with the valuetrue.
 
 To override the Subject with which the authentication executes, add a mechanism property with the name
 "JAVA_SUBJECT" with the value of a Subject instance.
 
 To override the properties of the SaslClient with which the authentication executes, add a mechanism
 property with the name "JAVA_SASL_CLIENT_PROPERTIES" with the value of a Map<String, Object instance containing the
 necessary properties.  This can be useful if the application is customizing the default
 SaslClientFactory.
userName - the non-null user namewithMechanismProperty(String, Object), 
SERVICE_NAME_KEY, 
CANONICALIZE_HOST_NAME_KEY, 
JAVA_SUBJECT_KEY, 
JAVA_SASL_CLIENT_PROPERTIES_KEYpublic <T> MongoCredential withMechanismProperty(String key, T value)
T - the property typekey - the key to the property, which is treated as case-insensitivevalue - the value of the property@Nullable public AuthenticationMechanism getAuthenticationMechanism()
@Nullable public String getUserName()
public String getSource()
@Nullable public char[] getPassword()
@Nullable public <T> T getMechanismProperty(String key, @Nullable T defaultValue)
T - the value typekey - the mechanism property key, which is treated as case-insensitivedefaultValue - the default value, if no mapping exists