Managed usuários de e-mail/senha - .NET SDK
Nesta página
Visão geral
Se você tiver ativado oprovedor de e-mail/senha em seu aplicativo, poderá registrar uma nova conta, confirmar um endereço de e-mail e redefinir a senha de um usuário no código do cliente .
Registrar uma nova conta de usuário
Para registrar um novo usuário, passe um e-mail e uma senha fornecidos pelo usuário para o método RegistrarUserAsync() :
await app.EmailPasswordAuth.RegisterUserAsync(userEmail, "sekrit");
Confirmar um endereço de e-mail de novo usuário
Para confirmar um usuário recém-criado, passe uma confirmação token
e tokenId
para o método ConfirmUserAsync() .
Observação
Usar links detalhados em aplicativos móveis
Os aplicativos móveis podem lidar com a confirmação por e-mail diretamente na aplicação configurando links detalhados no Android, links universais no iOS e/ou manipuladores de URI para a Plataforma Universal do Windows (UWP).
await app.EmailPasswordAuth.ConfirmUserAsync("<token>", "<token-id>");
Reenviar um e-mail de confirmação
Para reenviar um e-mail de confirmação, ligue para o método ResendConfirmationEmailAsync() com o endereço de e-mail do usuário.
await app.EmailPasswordAuth.ResendConfirmationEmailAsync("<userEmail>");
Tentar novamente uma função de confirmação do usuário
Para reenviar um e-mail de confirmação usando uma função personalizada, chame o método RetryCustomConfirmationAsync() com o endereço de e-mail do usuário.
await app.EmailPasswordAuth.RetryCustomConfirmationAsync("<userEmail>");
Para mais informações, consulte Executar uma função de confirmação na documentação do Atlas App Services .
Redefinir a senha de um usuário
A redefinição da senha de um usuário é um processo de várias etapas.
Em seu aplicativo cliente, você fornece uma interface do usuário para o usuário redefinir a senha. Em seguida, seu App Services App pode enviar um e-mail ou executar uma função personalizada para confirmar a identidade do usuário.
Após confirmar a identidade do usuário, você pode concluir a solicitação de redefinição de senha.
Após a redefinição de senha ser concluída, o usuário poderá se conectar usando a nova senha.
Selecione seu método preferido de redefinição de senha acessando:
Seu Atlas App Services App
Authentication
Authentication Providers
Email/Password - e pressione o botão EDIT
Enviar um e-mail de redefinição de senha
Para enviar e-mails de redefinição de senha para confirmar a identidade do usuário, você deve configurar seu aplicativo para enviar um e-mail de redefinição de senha.
Para iniciar o processo de redefinição de senha, chame SendPasswordResetEmailAsync() com o e-mail do usuário. O App Services envia um e-mail ao usuário que contém um URL exclusivo . O usuário deve acessar esta URL dentro 30 minutos para confirmar a redefinição.
await app.EmailPasswordAuth.SendResetPasswordEmailAsync(userEmail);
Os e-mails de redefinição de senha contêm uma URL codificada com dois valores, token
e tokenId
. Para concluir o fluxo de redefinição de senha, você pode redefinir a senha do usuário no cliente ou chamando uma função personalizada no backend. Para usar o SDK para concluir a redefinição de senha, passe estes valores para ResetPasswordAsync():
await app.EmailPasswordAuth.ResetPasswordAsync( myNewPassword, "<token>", "<token-id>");
Se o usuário não acessar a URL do e-mail de redefinição de senha dentro de 30 minutos, o token
e o tokenId
expirarão. Você deve iniciar o processo de redefinição de senha novamente.
Observação
Para acessar token
os tokenId
valores e enviados no e-mail de redefinição de senha, você pode usar um link detalhado do Android ou o link universal do iOS.
Executar uma função de redefinição de senha
Ao configurar seu aplicativo para executar uma função de redefinição de senha, você define a função que deve ser executada quando chamar CallResetPasswordFunctionAsync() do SDK. Esta função pode receber um nome de usuário, uma senha e qualquer número de argumentos adicionais. Você pode usar esses argumentos para especificar detalhes como respostas a perguntas de segurança ou outros desafios que o usuário deve passar para concluir com êxito uma redefinição de senha.
Você pode preferir usar uma função personalizada de redefinição de senha quando quiser definir seus próprios fluxos de redefinição de senha. Por exemplo, você pode enviar um e-mail de redefinição de senha personalizado de um domínio específico. Você também pode usar um serviço diferente do e-mail para confirmar a identidade do usuário.
No lado do App Services, você define a função personalizada de redefinição de senha que é executada quando você chama esse método. Essa função pode retornar um dos três status possíveis:
fail
pending
success
Um status fail
é tratado como uma exceção pelo SDK. O SDK CallResetPasswordFunctionAsync()
não recebe valores de retorno, portanto, não retorna um status pending
ou success
ao cliente.
Caso pendente do lado do servidor
Sua função de redefinição de senhaAtlas App Services pode retornar pending
se você quiser que o usuário execute alguma etapa adicional para confirmar sua identidade. No entanto, esse valor de retorno não é passado para o CallResetPasswordFunctionAsync() do SDK, portanto, seu aplicativo cliente deve implementar sua própria lógica para lidar com um status pending
.
await app.EmailPasswordAuth.CallResetPasswordFunctionAsync( userEmail, myNewPassword);
Sua função no servidor pode enviar um e-mail usando um provedor de e-mail personalizado. Você também pode usar SMS ou algum outro serviço para confirmar a identidade do usuário.
Você tem acesso a um token
e tokenId
no contexto da função de redefinição de senha do Atlas App Services . Se você passar essas informações pela função de redefinição de senha do Atlas App Services , poderá passar esses valores de volta ao seu aplicativo usando links detalhados ou links universais específicos da plataforma. Em seguida, seu aplicativo cliente pode chamar ResetPasswordAsync() para concluir o fluxo de redefinição de senha.
await app.EmailPasswordAuth.ResetPasswordAsync( myNewPassword, "<token>", "<token-id>");
Observação
Para acessar token
os tokenId
valores e enviados de uma função de redefinição de senha personalizada, você pode usar um link detalhado do Android ou o link universal do iOS.
Caso de sucesso do servidor
Se a função de redefinição de senha doAtlas App Services fizer validação adicional dentro da função ou se você tiver validado a identidade do usuário antes de tentar redefinir a senha, poderá configurar a função do Atlas App Services para retornar success
. No entanto, esse valor de retorno não é passado para o CallResetPasswordFunctionAsync() do SDK, portanto, seu aplicativo cliente deve implementar sua própria lógica para lidar com um status success
.
Chamar a função neste exemplo executa todo o processo de redefinição de senha.
await app.EmailPasswordAuth.CallResetPasswordFunctionAsync( userEmail, myNewPassword, "<security-question-1-answer>", "<security-question-2-answer>");