Visão geral
O SCRAM (Salted Challenge Response Authentication Mechanism) é uma família de mecanismos de autenticação que usa um mecanismo de desafio-resposta para autenticar o usuário. SCRAM-SHA-256, que utiliza o algoritmo SHA-256 para hash sua senha, é o mecanismo de autenticação padrão no MongoDB Server versão 4.0 e posterior. SCRAM-SHA-1, que usa o algoritmo SHA-1, é o mecanismo de autenticação padrão nas versões do MongoDB Server anteriores à 4.0.
Você pode usar o SCRAM para autenticar no MongoDB Atlas, Enterprise Advanced e MongoDB Community Edition.
Dica
Mecanismos SCRAM
Para saber mais sobre a família de mecanismos de autenticação SCRAM, consulte RFC 5802 e Mecanismo de autenticação de resposta de desafio salgado na Wikipedia.
Para obter mais informações sobre a implementação do MongoDB do SCRAM, consulte SCRAM no manual do MongoDB Server .
SCRAM-SHA-256
SCRAM-SHA-256, as defined by RFC 7677, is the default authentication mechanism for MongoDB deployments.
Para autenticar com esse mecanismo, defina as seguintes opções de conexão:
username
: o nome de usuário para autenticar. Porcentagem Codifique esse valor antes de incluí-lo em um URI de conexão.password
: A senha para autenticar. Porcentagem Codifique esse valor antes de incluí-lo em um URI de conexão.authSource
: O banco de banco de dados MongoDB para autenticar. Por padrão, a biblioteca PHP do MongoDB autentica no banco de banco de dados no URI de conexão, se você incluir um. Caso contrário, ele autentica no banco de banco de dados doadmin
.
Você pode definir essas opções de duas maneiras: passando uma array de opções para o construtor MongoDB\Client
ou por meio de parâmetros em seu URI de conexão. Selecione a aba MongoDB\Client ou Connection URI para ver o código correspondente:
$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);
Você também pode especificar explicitamente o mecanismo de autenticação SCRAM-SHA-256
definindo a opção de conexão authMechanism
como 'SCRAM-SHA-256'
, conforme mostrado no exemplo a seguir:
$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
, as defined by RFC 5802, is a Salted Challenge Response Authentication Mechanism (SCRAM) that uses your username and password, encrypted with the SHA-1
algorithm, to authenticate your user.
Para autenticar com esse mecanismo, defina as seguintes opções de conexão:
username
: o nome de usuário para autenticar. Porcentagem Codifique esse valor antes de incluí-lo em um URI de conexão.password
: A senha para autenticar. Porcentagem Codifique esse valor antes de incluí-lo em um URI de conexão.authSource
: O banco de banco de dados MongoDB para autenticar. Por padrão, a biblioteca PHP do MongoDB autentica no banco de banco de dados no URI de conexão, se você incluir um. Caso contrário, ele autentica no banco de banco de dados doadmin
.authMechanism
: Defina como'SCRAM-SHA-1'
.
Você pode definir essas opções de duas maneiras: passando uma array de opções para o construtor MongoDB\Client
ou por meio de parâmetros em seu URI de conexão. Selecione a aba MongoDB\Client ou Connection URI para ver o código correspondente:
$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);
Informações adicionais
Para saber mais sobre como criar um objeto MongoDB\Client
na Biblioteca PHP do MongoDB , consulte o guia Criar um cliente MongoDB .
Para saber mais sobre as opções de conexão, consulte o guia Especificar opções de conexão.