Overview
El Salted Challenge Response Authentication Mechanism (SCRAM) es una familia de mecanismos de autenticación que utiliza un mecanismo de desafío-respuesta para autenticar al usuario. SCRAM-SHA-256, que utiliza el algoritmo SHA-256 para crear hash de tu contraseña, es el mecanismo de autenticación por defecto en MongoDB Server versión 4.0 y posteriores. SCRAM-SHA-1, que utiliza el algoritmo SHA-1 en su lugar, es el mecanismo de autenticación por defecto en las versiones de MongoDB Server anteriores a la 4.0.
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 definido por RFC 7677, es el mecanismo de autenticación predeterminado para las implementaciones de MongoDB.
Para autenticarte con este mecanismo, establece las siguientes opciones de conexión:
usernameEl nombre de usuario para autenticar. Codifique este valor como porcentaje antes de incluirlo en un URI de conexión.passwordLa contraseña para autenticarse. Codifique este valor como porcentaje antes de incluirlo en un 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 se define en RFC 5802, es un mecanismo de autenticación de respuesta a desafío salado (SCRAM) que utiliza tu nombre de usuario y contraseña, cifrados con el algoritmo SHA-1, para autenticar a tu usuario.
Para autenticarte con este mecanismo, establece las siguientes opciones de conexión:
usernameEl nombre de usuario para autenticar. Codifique este valor como porcentaje antes de incluirlo en un URI de conexión.passwordLa contraseña para autenticarse. Codifique este valor como porcentaje antes de incluirlo en un 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'.
Puedes configurar estas opciones de dos maneras: pasando un arreglo de opciones al constructor MongoDB\Client o mediante parámetros en su URI de 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 Guía para crear un cliente de MongoDB.
Para obtener más información sobre las opciones de conexión, consulta la guía Especificar opciones de conexión.