Overview
El Mecanismo de Autenticación por Desafío-Respuesta con Sal (SCRAM) es una familia de mecanismos de autenticación que utilizan un mecanismo de desafío-respuesta para autenticar al usuario. SCRAM-SHA-,256 que utiliza el256 algoritmo SHA- para cifrar la contraseña, es el mecanismo de autenticación predeterminado en MongoDB Server versión 4.0 y posteriores. SCRAM-SHA-,1 que utiliza el1 algoritmo SHA-, es el mecanismo de autenticación predeterminado en MongoDB Server versiones anteriores 4.0 a.
Puede utilizar SCRAM para autenticarse en MongoDB Atlas, MongoDB Enterprise Advanced y MongoDB Community Edition.
Tip
Mecanismos SCRAM
Para obtener más información sobre la familia de mecanismos de autenticación SCRAM, consulte Solicitud de comentarios 5802y mecanismo de autenticación de desafío-respuesta salado en Wikipedia.
Para obtener más información sobre la implementación de SCRAM de MongoDB, consulte SCRAM en el manual del servidor MongoDB.
SCRAM-SHA-256
SCRAM-SHA-,256 según lo define RFC, es el mecanismo de autenticación predeterminado para las implementaciones de 7677MongoDB.
Para autenticarse con este mecanismo, configure las siguientes opciones de conexión:
usernameNombre de usuario para autenticar. Codifique este valor porcentualmente antes de incluirlo en una URI de conexión.passwordContraseña para la autenticación. Codifique este valor porcentualmente antes de incluirlo en una URI de conexión.authSourceLa base de datos MongoDB para la autenticación. De forma predeterminada, la biblioteca PHP de MongoDB se autentica con la base de datos en la URI de conexión, si la incluye. De lo contrario, se autentica con la base de datosadmin.
Puede configurar estas opciones de dos maneras: pasando una matriz de opciones al constructor MongoDB\Client o mediante parámetros en la URI de su conexión. Seleccione MongoDB\Client o pestaña Connection URI para ver el código correspondiente:
$uriOptions = [ 'username' => '<username>', 'password' => '<password>', 'authSource' => '<authentication database>', ]; $client = new MongoDB\Client( 'mongodb://<hostname>:<port>', $uriOptions, );
$uri = 'mongodb://<username>:<password>@<hostname>:<port>/?authSource=admin'; $client = new MongoDB\Client($uri);
También puede especificar explícitamente el mecanismo de autenticación SCRAM-SHA-256 configurando la opción de conexión authMechanism en 'SCRAM-SHA-256', como se muestra en el siguiente ejemplo:
$uriOptions = [ 'username' => '<username>', 'password' => '<password>', 'authSource' => '<authentication database>', 'authMechanism' => 'SCRAM-SHA-256', ]; $client = new MongoDB\Client( 'mongodb://<hostname>:<port>', $uriOptions, );
$uri = 'mongodb://<username>:<password>@<hostname>:<port>/?authSource=admin&authMechanism=SCRAM-SHA-256'; $client = new MongoDB\Client($uri);
SCRAM-SHA-1
SCRAM-SHA-1, según lo define RFC, es un mecanismo de autenticación de desafío y respuesta salado (SCRAM) que utiliza su nombre de usuario y contraseña, cifrados con 5802el SHA-1 algoritmo, para autenticar a su usuario.
Para autenticarse con este mecanismo, configure las siguientes opciones de conexión:
usernameNombre de usuario para autenticar. Codifique este valor porcentualmente antes de incluirlo en una URI de conexión.passwordContraseña para la autenticación. Codifique este valor porcentualmente antes de incluirlo en una URI de conexión.authSourceLa base de datos MongoDB para la autenticación. De forma predeterminada, la biblioteca PHP de MongoDB se autentica con la base de datos en la URI de conexión, si la incluye. De lo contrario, se autentica con la base de datosadmin.authMechanism:Establecer en'SCRAM-SHA-1'.
Puede configurar estas opciones de dos maneras: pasando una matriz de opciones al constructor MongoDB\Client o mediante parámetros en la URI de su conexión. Seleccione la pestaña MongoDB\Client o Connection URI para ver el código correspondiente:
$uriOptions = [ 'username' => '<username>', 'password' => '<password>', 'authSource' => '<authentication database>', 'authMechanism' => 'SCRAM-SHA-1', ]; $client = new MongoDB\Client( 'mongodb://<hostname>:<port>', $uriOptions, );
$uri = 'mongodb://<username>:<password>@<hostname>:<port>/?authSource=admin&authMechanism=SCRAM-SHA-1'; $client = new MongoDB\Client($uri);
Información Adicional
Para obtener más información sobre cómo crear un objeto MongoDB\Client en la biblioteca PHP de MongoDB, consulte la Cree una guía del cliente MongoDB.
Para obtener más información sobre las opciones de conexión, consulta la guía Especificar opciones de conexión.