Visão geral
O Mecanismo de Autenticação de Resposta do Desafio Salgado (SCRAM) é uma família de mecanismos de autenticação que usa um nome de usuário e senha para autenticar em um servidor.
O driver Rust é compatível com os seguintes mecanismos de autenticação baseados em SCRAM:
SCRAM-SHA-256: An authentication mechanism that uses your database username and password, encrypted with the
SHA-256algorithm. This is the default authentication mechanism.SCRAM-SHA-1: An authentication mechanism that uses your database username and password, encrypted with the
SHA-1algorithm.
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 SCRAM de mecanismos de autenticação, consulte RFC 5802 e Mecanismo de autenticação de resposta de desafio salgado na Wikipedia.
For more information about the MongoDB implementation of SCRAM, see SCRAM in the MongoDB Server manual.
Espaços reservados de código
Os exemplos de código nesta página usam os seguintes espaços reservados:
db_username: Seu nome de usuário do banco de dados de dadosdb_password: Sua senha do banco de dados de dadosdb: O banco de dados de autenticação associado ao usuário
SCRAM-SHA-256
Como SCRAM-SHA-256 é o mecanismo de autenticação padrão, você pode omitir o campo mechanism ao instanciar sua estrutura Credential para usar esse mecanismo.
O exemplo a seguir especifica o mecanismo de autenticação padrão:
let uri = "<connection string>"; let mut client_options = ClientOptions::parse(uri).await?; let default_cred = Credential::builder() .username("<db_username>".to_string()) .password("<db_password>".to_string()) .source("<db>".to_string()) .build(); client_options.credential = Some(default_cred); let client = Client::with_options(client_options)?;
Para especificar explicitamente o mecanismo de autenticação SCRAM-SHA-256, defina o campo mechanism da estrutura Credential como AuthMechanism::ScramSha256:
let uri = "<connection string>"; let mut client_options = ClientOptions::parse(uri).await?; let scram_sha_256_cred = Credential::builder() .username("<db_username>".to_string()) .password("<db_password>".to_string()) .mechanism(AuthMechanism::ScramSha256) .source("<db>".to_string()) .build(); client_options.credential = Some(scram_sha_256_cred); let client = Client::with_options(client_options)?;
SCRAM-SHA-1
Para especificar o mecanismo de autenticação SCRAM-SHA-1, defina o campo mechanism da estrutura Credential como AuthMechanism::ScramSha1:
let uri = "<connection string>"; let mut client_options = ClientOptions::parse(uri).await?; let scram_sha_1_cred = Credential::builder() .username("<db_username>".to_string()) .password("<db_password>".to_string()) .mechanism(AuthMechanism::ScramSha1) .source("<db>".to_string()) .build(); client_options.credential = Some(scram_sha_1_cred); let client = Client::with_options(client_options)?;
Informações adicionais
Para saber mais sobre autenticação no MongoDB, consulte Autenticação no manual do servidor MongoDB.
To learn more about managing users of your MongoDB deployment, see Users in the Server manual.
Documentação da API
Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo: