Overview
En el mecanismo de autenticación X.509, el servidor y el cliente utilizan el protocolo TLS para intercambiar certificados de llave pública X.509. Puedes usar este mecanismo para autenticarte en MongoDB Atlas, MongoDB Enterprise Advanced y MongoDB Community Edition.
Tip
X.509 Mecanismo
Para obtener información sobre cómo utilizar TLS/SSL con el controlador Kotlin sincronizar, consulta la guía Habilitar TLS/SSL en una conexión.
Para obtener más información sobre los certificados X.509 , consulta Usar certificados x.509 para autenticar clientes en implementaciones autogestionadas en el manual del MongoDB Server.
Especificar la autenticación X.509
Los ejemplos en esta sección muestran cómo especificar el mecanismo de autenticación X.509 y utilizar los siguientes valores de marcador de posición:
hostnameLa dirección de red de su implementación de MongoDB, abierta a su cliente.portNúmero de puerto de tu servidor MongoDB.authenticationDb: La base de datos MongoDB que contiene los datos de autenticación de su usuario. Si omite este parámetro, el driver utiliza el valor por defectoadmin.
Seleccione la pestaña Connection String o la MongoCredential a continuación para obtener instrucciones y un código de muestra sobre cómo especificar este mecanismo de autenticación:
Para especificar el mecanismo de autenticación X.509 mediante una cadena de conexión, establece el parámetro authMechanism en MONGODB-X509 y el parámetro tls en true, como se muestra en el siguiente ejemplo:
val mongoClient = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=MONGODB-X509&tls=true")
Para especificar el mecanismo de autenticación de X.509 mediante la clase MongoCredential, utiliza los métodos del builder createMongoX509Credential() y applyToSslSettings(), como se muestra en el siguiente ejemplo:
val credential = MongoCredential.createMongoX509Credential() val settings = MongoClientSettings.builder() .applyToClusterSettings { builder -> builder.hosts(listOf( ServerAddress("<hostname>", <port>)) ) } .applyToSslSettings { builder -> builder.enabled(true) } .credential(credential) .build() val mongoClient = MongoClient.create(settings)
Información Adicional
Para obtener más información sobre la autenticación en MongoDB, consulta Autenticación en el manual del servidor de MongoDB.
Para obtener más información sobre cómo crear un objeto MongoClient utilizando el controlador Kotlin Sync, consulta la guía Crear un MongoClient.