Gerenciar metadados do usuário - Kotlin SDK
Nesta página
Esta página descreve como gerenciar metadados do usuário para um usuário autorizado do App Services App usando o Realm Kotlin SDK. Para obter mais informações, consulte Metadados do provedor de autenticação na documentação do App Services.
O Atlas App Services pode ler os metadados do usuário a partir do fornecedor de autenticação. Em seguida, o App Services expõe os dados de cada usuário em um campo de seu objeto User
. Por exemplo, você pode acessar o nome, e-mail, aniversário ou gênero de um usuário.
Ler os metadados de um usuário
Você pode ler os metadados de um usuário conectado no momento por meio do objeto de usuário desse usuário. Você não pode editar metadados do usuário por meio de um objeto User
.
Para ler os dados, chame o método profileAsBsonDocument no objeto User
de um usuário conectado:
// Log in a user val user = app.login(Credentials.emailPassword(email, password)) // Access the user's metadata val userEmail = user.profileAsBsonDocument()["email"] Log.i("The logged-in user's email is: $userEmail")
As opções de metadados do usuário variam dependendo de qual provedor você está usando e quais campos de metadados você habilita.
Aviso
Os metadados do usuário podem estar obsoletos
O Atlas App Services obtém a versão mais recente dos metadados do usuário quando um usuário faz login. Se o usuário alterar seu endereço de e-mail ou imagem de perfil com um provedor de login, por exemplo, essas alterações não serão atualizadas nos metadados do usuário até que o usuário faça login novamente. Como armazenamos credenciais em cache e permitimos que você ignore o fluxo de login, os metadados do usuário podem ficar obsoletos, a menos que você força o usuário a se conectar novamente.
metadados do usuário serializáveis
Novidades na versão 1.9.0.
O Kotlin SDK versão 1.9.0 introduziu uma API que suporta:
Um codificador EJSON limitado, mas estável, para metadados do usuário retornados por
User.profileAsBsonDocument()
Um codificador EJSON experimental que suporta serialização completa de documentos para metadados de usuário retornados pelo User.profile() método de extensão. Este codificador e método requer aceitação experimental.
Você deve adicionar a serialização oficial do Kotlin biblioteca para seu projeto para usar a serialização EJSON do Realm Kotlin SDK. Para mais informações, consulte Serialização.
Configurar metadados do usuário
Você só pode ler os metadados do usuário do aplicativo cliente que você configurou no aplicativo App Services.
Você pode configurar os metadados do usuário que solicita de um provedor de autenticação. Você faz isso diretamente na configuração do provedor de autenticação. Para obter mais detalhes sobre quais campos de metadados você pode usar, consulte os detalhes do fornecedor:
Você pode alterar quais campos de metadados configurou editando a configuração do provedor.
Atualizar metadados do usuário
Os metadados do usuário que você acessa por meio do provedor de autenticação são dados somente para leitura. Você não pode atualizar ou editar os metadados do usuário que vêm dessa fonte.
Se você quiser dar a um usuário a opção de atualizar seus metadados a partir do seu aplicativo cliente, use dados de usuário personalizados.