Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Autenticación SCRAM

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, 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 de admin.

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, 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 de admin.

  • 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);

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.

Volver

Autenticación

En esta página