Gerenciar usuários - Swift SDK
Nesta página
Visão geral
Ao usar o Atlas App Services para apoiar seu aplicativo cliente , você obtém acesso a umobjeto de usuário . Use os métodos do Swift SDK com este objeto de usuário para:
Criar e excluir usuários
Conectar e desconectar usuários
Criar e atualizar dados de usuário personalizados
Leia os metadados do usuário dos provedores de login social
Criar e excluir usuários
Para todos os provedor de autenticação que não sejam a autenticação por e-mail/senha, o App Services cria automaticamente um objeto na primeira vez que um usuário se autentica. Se um usuário se autenticar por meio de mais de um método, é possível vincular essas identidades de usuário a um único objeto de usuário.
Você pode excluir objetos de usuário. A exclusão de um objeto de usuário exclui os metadados anexados ao objeto de usuário, mas não exclui os dados inseridos pelo usuário do backend.
Dica
Requisitos de exclusão de conta Apple
A Apple exige que os aplicativos listados em sua App Store deve dar a qualquer usuário que crie uma conta a opção de excluí-la. Se você usa um método de autenticação em que deve registrar manualmente um usuário, como autenticação de e-mail/senha, ou um que cria automaticamente um usuário, como o Sign-In with Apple, você deve implementar a exclusão da conta de usuário até junho 30, 2022.
Conectar e desconectar usuários
Use um ou mais fornecedores de autenticação para conectar e desconectar usuários do seu aplicativo cliente. Você pode:
Faça login dos usuários com uma conta social existente, como Apple, Facebook ou Google.
Crie novas contas de usuário com o gerenciamento de e-mail/senha do Atlas App Services ou sua própria função personalizada ou o gerenciamento de usuários de JSON web token personalizado.
Habilite usuários anônimos para permitir que os usuários acessem seu App Services App sem persistir os dados do usuário.
Quando você tem um usuário conectado, os métodos do SDK permitem:
Abrir um realm sincronizado com o objeto de configuração do usuário
Executar uma função de backend como o usuário conectado
Alterar o usuário ativo em um aplicativo multiusuário
Remover um usuário do dispositivo
On successful login, the Swift SDK caches credentials on the device. Você pode ignorar o fluxo de login e acessar o usuário em cache. Use isso para abrir um Realm ou chamar uma função após a abertura subsequente do aplicativo.
Sessões de usuário
Atlas App Services gerenciam sessões com tokens de acesso e atualizam tokens. Os SDKs do cliente fornecem a lógica para gerenciar tokens e fornecer solicitações.
O Realm usa tokens de atualização para atualizar automaticamente o token de acesso de um usuário quando ele expira. No entanto, o Realm não atualiza automaticamente o token de atualização. Quando o token de atualização expira, o SDK não pode mais obter um token de acesso atualizado e o dispositivo não pode sincronizar até que o usuário faça logon novamente.
Para mais informações sobre gerenciar sessões de usuário e tokens, consulte Sessões de Usuário na documentação do Atlas App Services .
O Swift SDK armazena esses tokens no Keychain.
Ler e atualizar dados de usuário personalizados
Você pode associar dados personalizados a um objeto de usuário, como um idioma preferido ou fuso horário local, e lê-los no aplicativo cliente. Um objeto de usuário tem uma propriedade customData
que você pode utilizar para acessar dados de usuário personalizados.
Para criar e atualizar dados de usuário personalizados, você deve acessar seu conjunto de dados do MongoDB diretamente. O App Services não oferece um método de SDK para criar ou atualizar esses dados de usuário personalizados; é uma propriedade somente leitura.
Ler metadados do usuário a partir dos provedores de login
Some authentication providers enable developers to access user metadata, such as full name or email address. Ao configurar esses campos de metadados no aplicativo App Services, você pode ler esses metadados do seu aplicativo cliente. Um objeto de usuário tem uma propriedade profile
que você pode utilizar para acessar os metadados do usuário.