Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

Gerenciar usuários de e-mail/senha - SDK da Web

Nesta página

  • Visão geral
  • Registrar uma nova conta de usuário
  • Confirmar um endereço de e-mail de novo usuário
  • Conclua uma confirmação de usuário
  • Repetir métodos de confirmação do usuário
  • Reenviar um e-mail de confirmação
  • Tentar novamente uma função de confirmação do usuário
  • Redefinir a senha de um usuário
  • Enviar um e-mail de redefinição de senha
  • Ligar para uma função de redefinição de senha
  • Concluir uma redefinição de senha

O Web SDK inclui um objeto de cliente que permite gerenciar usuários associados aoprovedor de autenticação de e-mail/senhado .

Para registrar um novo usuário de e-mail/senha, ligue para o método registerUser() com o endereço de e-mail do usuário e a senha desejada. O endereço de e-mail não deve ser associado a outro usuário de e-mail/senha e a senha deve ter entre 6 e 128 caracteres.

const email = "someone@example.com";
const password = "Pa55w0rd!";
await app.emailPasswordAuth.registerUser({ email, password });

Observação

Confirmar novos usuários

Você deve confirmar o endereço de e-mail de um novo usuário antes que ele possa fazer login no seu aplicativo.

Os novos usuários devem confirmar que possuem o endereço de e-mail antes de fazer login no seu aplicativo, a menos que o provedor esteja configurado para confirmar automaticamente os novos usuários.

Se o provedor estiver configurado para enviar um e-mail de confirmação, o Atlas App Services enviará automaticamente um e-mail de confirmação quando um usuário se registrar. O e-mail contém um link para o Email Confirmation URL configurado com um token válido por 30 minutos após o envio do e-mail. Se um usuário não recebeu o e-mail inicial ou não clicou no link de confirmação a tempo, você pode usar o SDK para reenviar um e-mail de confirmação.

Alternativamente, se o provedor estiver configurado para executar uma função de confirmação, os App Services executarão automaticamente sua Função Atlas personalizada quando um usuário registrar. Se a chamada para a função de confirmação personalizada falhar, você poderá usar o SDK para tentar novamente uma função de confirmação do usuário.

Você precisa de um token e tokenId válidos para um usuário registrado para confirmá-lo e permitir que ele faça login. Esses valores estão disponíveis em locais diferentes, dependendo da configuração do provedor:

  • Se o provedor estiver configurado para enviar um e-mail de confirmação, os valores token e tokenId serão incluídos como parâmetros de consulta no Email Confirmation URL.

  • Se o provedor estiver configurado para executar uma função de confirmação, os valores token e tokenId serão passados para a função como argumentos.

Para confirmar um usuário registrado, ligue para o método confirmUser() com o usuário válido token e tokenId:

await app.emailPasswordAuth.confirmUser({ token, tokenId });

O SDK fornece métodos para reenviar e-mails de confirmação do usuário ou tentar novamente métodos de confirmação personalizados.

Para reenviar o e-mail de confirmação para um usuário, ligue para o método resendConfirmationEmail() com o endereço de e-mail do usuário:

const email = "someone@example.com"; // The user's email address
await app.emailPasswordAuth.resendConfirmationEmail({ email });

Novidades na versão do Realm: Web v1.4.0

Para executar novamente sua função de confirmação personalizada, ligue para o método retryCustomConfirmation() com o endereço de e-mail do usuário:

const email = "someone@example.com"; // The user's email address
await app.emailPasswordAuth.retryCustomConfirmation({ email });

Se o provedor estiver configurado para enviar um e-mail de redefinição de senha, você poderá usar o SDK para enviar um e-mail de redefinição de senha para um usuário. O e-mail contém um link para o Password Reset URL configurado.

// The user's email address
const email = "joe.jasper@example.com";
await app.emailPasswordAuth.sendResetPasswordEmail({ email });

Se o provedor estiver configurado para executar uma função de redefinição de senha, você poderá utilizar o SDK para executar a função. Passe um objeto com o e-mail e a nova senha do usuário. Você também pode incluir argumentos adicionais para usar na função de redefinição de senha no backend dos App Services.

// The user's email address
const email = "joe.jasper@example.com";
// The new password to use
const password = "newPassw0rd";
// Additional arguments for the reset function
const args = [];
await app.emailPasswordAuth.callResetPasswordFunction(
{ email, password },
...args
);

Depois que um usuário solicita uma redefinição de senha, enviando um e-mail de redefinição de senha ou chamando uma função de redefinição de senha, o Realm gera um par de valores token e tokenId exclusivos que ele pode usar para concluir a redefinição de senha dentro 30 minutos do pedido inicial.

await app.emailPasswordAuth.resetPassword({
password: "newPassw0rd",
token,
tokenId,
});

Exemplo

Obter o Token e TokenID

Se o provedor usar o e-mail de redefinição de senha incorporado, token e tokenId serão incluídos como query no URL de redefinição de senha. Você pode acessá-los da seguinte forma:

const params = new URLSearchParams(window.location.search);
const token = params.get("token");
const tokenId = params.get("tokenId");
if (!token || !tokenId) {
throw new Error(
"You can only call resetPassword() if the user followed a confirmation email link"
);
}

Voltar

Autentique um usuário - SDK da Web