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, consulta RFC 5802 y Salted Challenge Response Authentication Mechanism en Wikipedia.
Para obtener más información sobre la implementación SCRAM de MongoDB, consulte SCRAM en el manual del servidor de 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 autenticarte con este mecanismo, establece 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 contra la que se debe autenticar. Por defecto, la MongoDB PHP librería se autentica contra la base de datos en la URI de conexión, si se incluye una. Si no lo hace, se autentica contra la base de datos deadmin.
Puedes establecer estas opciones de dos maneras: pasando un arreglo de opciones al constructor MongoDB\Client o a través de parámetros en tu URI de conexión. Selecciona el MongoDB\Client o la 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 puedes 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 autenticarte con este mecanismo, establece 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 contra la que se debe autenticar. Por defecto, la MongoDB PHP librería se autentica contra la base de datos en la URI de conexión, si se incluye una. Si no lo hace, se autentica contra la base de datos deadmin.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 MongoDB\Client objeto en la librería PHP de MongoDB, consulte el 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.