Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App
/

Criar um usuário do aplicativo

Nesta página

  • Visão geral
  • Identidade
  • Vincular para contas existentes
  • Criar um usuário com e-mail/senha
  • Criar um usuário de e-mail/senha no SDK
  • Crie manualmente um usuário de e-mail/senha
  • Confirmar um usuário
  • Execute novamente o fluxo de trabalho de confirmação do usuário
  • Resumo

O Atlas App Services fornece vários fornecedores de autenticação para conectar usuários ao seu aplicativo. Para a maioria dos provedores, o App Services cria automaticamente uma conta de usuário na primeira vez que um usuário se autentica por meio do provedor. A única exceção é autenticação de usuário por e-mail/senha, que requer o registro e a confirmação de um usuário antes que ele possa se autenticar.

Dica

Requisitos de exclusão de conta Apple

A Apple exige que os aplicativos distribuídos pela App Store forneçam a qualquer usuário que criar uma conta a opção de excluí-la. Independentemente de o aplicativo usar um método de autenticação em que é necessário registrar manualmente um usuário, como autenticação por e-mail/senha, ou um método que cria automaticamente um usuário, como o Iniciar sessão com a Apple, um aplicativo distribuído pela App Store deve implementar a exclusão da conta do usuário.

Quando você faz login pela primeira vez com um provedor de autenticação, o App Services cria um objeto de usuário que contém uma ID de identidade exclusiva e metadados específicos do fornecedor sobre o usuário.

Um único objeto de usuário pode ter mais de uma identidade. Você pode usar os SDKs do Realm para vincular identidades a contas de usuário existentes. Isso permite que os usuários façam login em uma única conta com mais de um provedor. Para obter mais informações, consulte a documentação sobre como vincular identidades ao seu SDK preferido:

Ao usar a autenticação de usuário por e-mail/senha, você deve primeiro registrar um usuário, o que cria o objeto de usuário. Você pode registrar usuários em seu aplicação cliente usando seu SDK preferido ou pode criar manualmente usuários de e-mail/senha.

Depois de registrar o usuário, você deve confirmá- lo antes que ele possa se autenticar.

Cada SDK oferece uma API que permite que você registre um usuário de e-mail/senha. Após registrar o usuário, você deve confirmar o usuário antes que ele possa autenticar. Para exemplos de código que demonstram como gerenciar usuários de e-mail/senha no aplicativo cliente, consulte a documentação dos SDKs do Realm:

Você pode criar um novo usuário de e-mail/senha a partir da interface de usuário, CLI ou API de administração do App Services. Usuários criados manualmente ignoram qualquer fluxo de confirmação de usuário configurado.

Dica

Criar manualmente um usuário pode ser útil para testar e depurar seu aplicativo no desenvolvimento.

  1. Selecione App Users no menu de navegação esquerdo.

  2. Clique no botão Add New User.

  3. Especifique um endereço de e-mail e senha para o novo usuário.

    Observação

    O provedor de autenticação de e-mail/senha exige que as senhas tenham entre 6 e 128 caracteres.

  4. Clique em Create.

Observação

Você também pode criar chaves de API que os aplicativos usam para se conectar à sua aplicação. Embora as chaves API não estejam associadas a um único usuário, a guia Users as lista. Para saber mais sobre chaves de API, consulte Autenticação de chaves de API.

Para criar um novo usuário de e-mail/senha, chame appservices users create e especifique --type=email. A CLI solicitará seu ID do aplicativo, bem como o e-mail e a senha do novo usuário.

appservices users create --type=email

Você também pode especificar os argumentos ao chamar o programa:

appservices users create --type=email \
--app=<Your App ID> \
--email=<User's Email Address> \
--password=<User's Password>

Observação

O provedor de autenticação de e-mail/senha exige que as senhas tenham entre 6 e 128 caracteres.

Para criar um novo usuário de e-mail/senha, crie uma solicitação POST no seguinte formato. Você deve especificar as credenciais do usuário no corpo da solicitação e o ID do grupo e do aplicativo no URL da solicitação.

curl --request POST \
--header 'Authorization: Bearer <access_token>' \
--data '{ "email": "<string>", "password": "<string>" }' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users

Observação

O provedor de autenticação de e-mail/senha exige que as senhas tenham entre 6 e 128 caracteres.

Você deve confirmar o endereço de e-mail dos novos usuários de e-mail/senha antes que eles tenham permissão para fazer login nos App Services. O método exato de confirmação depende da configuração do seu provedor, mas normalmente envolve um processo de handshake entre o usuário e seu aplicação. Você pode ler mais sobre a confirmação do usuário por e- mail/senha em Confirmação por e-mail/senha.

Às vezes, os usuários não conseguem concluir o processo de confirmação. Por exemplo:

  • Um filtro de spam excessivo pode bloquear e-mails de confirmação por e-mail do App Services.

  • Um proxy ou bloqueador da Web pode impedir que um usuário ative a função SDK do cliente confirmUser por meio do aplicação do cliente .

  • Um erro de implementação pode fazer com que a página de confirmação do usuário do aplicativo cliente falhe em casos de uso específicos.

Para ajudá-lo a contornar casos como este, você pode confirmar usuários usando manualmente a IU dos Serviços de Aplicativo ou a API de Administração:

Para confirmar um usuário de e-mail/senha pendente na IU:

  1. Selecione App Users no menu de navegação esquerdo.

  2. Na aba Users , selecione o botão PENDING .

  3. Localize o usuário na lista e clique nas reticências (...).

  4. Selecione a opção Confirm User no menu de contexto que aparece.

  5. Se a operação for bem-sucedida, o banner na parte superior do console de admin do Atlas App Services deverá exibir uma mensagem de confirmação. O User Status do usuário muda de Pending Confirmation para Pending User Login.

Um usuário confirmado manualmente continua aparecendo na lista de usuários PENDING até fazer login no seu aplicativo pela primeira vez. Nesse momento, o App Services o move para a lista de usuários confirmados e faz a transição de User Status para confirmed.

Para confirmar um usuário de e-mail/senha pendente usando a API Admin, crie uma solicitação POST no formato a seguir. Você deve especificar o ID do grupo, o ID do aplicativo e o endereço de e-mail.

curl --request POST \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/by_email/<email>/confirm

Algumas circunstâncias podem levar a fluxos de trabalho incompletos de confirmação de usuário de e-mail/senha:

  • Um e-mail é capturado por um filtro de spam, não entregue devido a um bug, ou excluído acidentalmente por um possível usuário dos Serviços de Aplicativo.

  • Uma função de confirmação personalizada não consegue se comunicar com um usuário não confirmado devido a um bug ou supervisão.

  • Um usuário não confirmado esqueceu de visitar seu link de confirmação dentro de 30 minutos de recebimento de seus tokens de login, e os tokens expiraram.

Os usuários presos nessa situação parecem presos em um estado não confirmado. Como uma conta existente tem seu e-mail registrado, os usuários não podem criar uma nova conta com o mesmo endereço de e-mail. Além disso, eles não podem se conectar a uma conta que não esteja confirmada.

Os aplicativos que usam o serviço interno de confirmação de email dos Serviços de Aplicativo podem usar o método SDK do Cliente resendConfirmationEmail para enviar um novo email com um novo link de confirmação para o usuário, permitindo que ele confirme sua conta e faça login. Chamar esse método resultará em um erro por qualquer aplicativo usando um fluxo de confirmação diferente de send a confirmation email.

Não existe um método muito específico para executar novamente uma função de confirmação personalizada. Em vez disso, o App Services tem um método para acionar uma nova execução de qualquer fluxo de trabalho atual de confirmação do usuário por e-mail/senha. Você pode executar de novo manualmente o fluxo de confirmação do usuário selecionado no momento usando a IU do App Services ou a App Services Admin API:

Para executar novamente o fluxo de trabalho de confirmação de um usuário na IU:

  1. Selecione App Users no menu de navegação esquerdo.

  2. Na aba Users , selecione o botão PENDING .

  3. Localize o usuário na lista e clique nas reticências (...).

  4. Selecione a opção Run user confirmation no menu de contexto que aparece.

  5. Selecione o botão Run User Confirmation na caixa de diálogo que aparece.

  6. Se a operação for bem-sucedida, o banner na parte superior do console do administrador do App Services deverá exibir uma mensagem de confirmação. O User Status do usuário muda de Pending Confirmation para Pending User Login. Depois que o usuário fizer login, ele será movido automaticamente para a lista de usuários ativos.

Se a reexecução falhar ou os tokens do usuário expirarem novamente, você poderá reexecutar a função de confirmação quantas vezes forem necessárias.

Para executar novamente o fluxo de trabalho de confirmação de um usuário usando a API Admin, crie uma solicitação POST no formato a seguir. Você deve especificar o ID do grupo, o ID do aplicativo e o endereço de e-mail.

curl --request POST \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/by_email/<email>/run_confirm
  • Para todos os provedores, exceto para autenticação de e-mail/senha, Os Serviços de Aplicativo criam automaticamente um objeto de usuário na primeira vez que um usuário se autentica.

  • Você pode fazer login em uma única conta com mais de um provedor usando os SDKs do Realm para vincular identidades.

  • O provedor de autenticação de e-mail/senha exige que os usuários criem uma conta na primeira vez que se conectarem ao seu aplicativo.

  • Os usuários de e-mail/senha devem ser confirmados manualmente por meio da IU do App Services ou da API Admin.

  • Os usuários detectados em um fluxo de trabalho incompleto de confirmação de e-mail/senha devem executar novamente a confirmação por meio da IU do App Services ou da API Admin.

Voltar

Autenticar e gerenciar usuários