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

Autenticar e gerenciar usuários

Nesta página

  • Introdução
  • Conceitos
  • Provedores de autenticação
  • Contas de Usuário
  • Identidades do Fornecedor de Autenticação
  • Usuário Ativo
  • Usuário do sistema
  • Sessões de usuário
  • Resumo

O Atlas App Services gerencia a autenticação para os usuários finais do seu aplicativo. Serviços de App:

  • Utiliza regras de acesso a dados baseadas em funções para determinar permissões de leitura e escrita.

  • Associa cada solicitação a um usuário autenticado

  • Avalia as permissões para cada objeto incluído na solicitação.

Através de contas de usuário, você pode armazenar e acessar metadados e dados personalizados para cada usuário.

Os usuários efetuam login por meio de fornecedores de autenticação. Cada fornecedor representa um método específico de autenticação.

Os Serviços de Aplicativos incluem fornecedores integrados para casos de uso comuns, como o Facebook e o Google. Fornecedores personalizados permitem integrar qualquer sistema de autenticação externo.

O diagrama a seguir mostra como seu aplicativo do cliente, Atlas App Services, e autenticação fornece interação para autenticar usuários:

Uma visão geral do processo de autenticação.

No App Services, um fornecedor de autenticação é um serviço modular. Esses serviços fornecem verificação de identidade e mantêm informações sobre usuários da aplicação.

Os usuários se autenticam fornecendo um conjunto de credenciais para um provedor de autenticação. Com credenciais válidas, o fornecedor retorna uma identidade exclusiva associada ao usuário. App Services os registram como ousuário ativodo .

Os Serviços de aplicativos incluem fornecedores de autenticação integrados para casos de uso comuns. Isso inclui:

Você pode configurar fornecedores personalizados para integrar sistemas de autenticação externos.

  • JWT Personalizado: o fornecedor aceita web tokens JSON assinados pelo sistema externo.

  • Função Personalizada: o fornecedor permite que você defina a lógica de login personalizada em um Atlas Function.

Importante

Os aplicativos exigem autenticação do usuário

Cada aplicativo deve ter pelo menos um fornecedor de autenticação configurado e habilitado. Sem pelo menos um fornecedor, nenhum aplicativo cliente pode se conectar. Para saber como configurar e ativar provedores de autenticação, consulte: Provedores de autenticação.

Uma conta de usuário representa um usuário único e distinto do seu aplicativo. O App Services cria o usuário quando um fornecedor de autenticação valida uma identidade única. Você pode obter metadados do usuário, como e-mail ou aniversário, de fornecedores de autenticação. Você pode associar cada usuário a dados personalizados.

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.

O App Services armazena metadados de login para um usuário em uma identidade do provedor de autenticação. Os Serviços de apps utilizam estes metadados para autenticar o utilizador.

No primeiro login com um fornecedor de autenticação, o App Services cria um objeto de identidade. Cada objeto contém um ID exclusivo e metadados específicos do fornecedor sobre o usuário. Em logins posteriores, o App Services atualiza os dados de identidade existentes.

Uma única conta de usuário pode ter mais de uma identidade. Os SDKs do Realm permitem 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 para o SDK do cliente.

Nos Realm SDKs, você pode fazer login em mais de um usuário, mas apenas uma conta pode estar ativa a qualquer momento. O usuário ativo é uma conta de usuário associada a uma solicitação de aplicativo.

O App Services executa solicitações de aplicativos clientes como usuário ativo. O App Services substitui referências dinâmicas ao usuário - por exemplo %%user em uma expressão JSON - com o usuário ativo.

Você pode usar um usuário ativo específico, ou o usuário do sistema, para executar funções.

O usuário do sistema é um usuário interno que tem privilégios avançados. O usuário do sistema ignora todas as regras. Você pode executar funções como usuário do sistema em vez de o usuário fazer uma solicitação. Os acionadores são executados no contexto do usuário do sistema.

O usuário do sistema é útil para tarefas administrativas. Isso inclui:

  • Tarefas que precisam contornar regras e queries

  • Tarefas que precisam de acesso irrestrito às operações de agregação e CRUD do MongoDB

Importante

Aviso de segurança

As regras não se aplicam ao usuário do sistema. As funções que são executadas conforme o usuário do sistema podem se tornar uma responsabilidade de segurança. Certifique-se de não expor essas funções a usuários não autorizados.

Por exemplo, use o contexto da função para verificar se o usuário ativo pode chamar a função do sistema. Defina uma condição para determinar se o usuário tem as permissões apropriadas, por exemplo:

exports = function() {
const activeUser = context.user
const adminUserId = context.values.get("adminUserId");
if(activeUser.id == adminUserId) {
// The user can only execute code here if they're an admin.
} else {
throw Error("This user is not allowed to execute the system function")
}
}

Uma sessão de usuário representa um período de tempo em que um usuário autenticado pode interagir com sua aplicação As sessões de usuário começam quando um usuário faz login por meio de um SDK ou autentica por HTTPS. Uma sessão termina após 30 minutos, a menos que uma solicitação de SDK ou API atualize a sessão.

Para saber como criar, trabalhar e revogar sessões de usuário, consulte Gerenciar sessões de usuário.

  • App Services oferecem suporte a autenticação e contas de usuário por meio de uma variedade de fornecedor de autenticação. Você pode associar usuários a mais de um fornecedor de autenticação.

  • O App Services suporta ter mais de um usuário conectado ao mesmo tempo. Há apenas um usuário ativo por vez.

  • O usuário do sistema é um usuário especial que ignora todas as regras.

  • O Realm SDK gerencia o acesso e atualiza tokens que compõem uma sessão de usuário.

Voltar

Modelos e regiões de implementação