Managed chaves de API do usuário - Java SDK
Nesta página
Os usuários do aplicativo podem gerar chaves de API do usuário com o SDK. Você pode permitir que dispositivos ou serviços se comuniquem com o Realm em nome de um usuário associando uma chave de API de usuário exclusiva a cada dispositivo ou serviço.
As chaves de API do usuário estão sempre associadas a um objeto de usuário criado por outro provedor de autenticação não anônimo. Cada usuário pode associar até 20 chaves de usuário à sua conta.
Dica
As chaves de API do usuário não são iguais às chaves de API do servidor, que permitem que um usuário ou serviço se autentique diretamente com o Realm usando o provedor de autenticação de chave de API. Para saber mais sobre as chaves de API do servidor , consulteAutenticação de chaves de API .
Criar uma chave de API do usuário
Para criar uma nova chave de API do usuário, chame os métodos create() ou createAsync() de um usuário conectado na instância apiKeyAuth . A chave de API do usuário será associada ao usuário conectado e pode ser usada para interagir com o Realm em seu nome. Não é possível criar chaves de API do usuário para usuários anônimos.
Aviso
Armazenar o valor da chave de API
O SDK só retorna o valor da chave de API do usuário quando você o cria. Certifique-se de armazenar o valor key
com segurança para que você possa usá-lo para se conectar.
Se você perder ou não armazenar o valor do key
, não haverá como recuperá-lo. Você precisará criar uma nova chave de API do usuário.
User user = app.currentUser(); user.getApiKeys().createAsync("Name-of-the-API-Key", result -> { if (result.isSuccess()) { Log.v("EXAMPLE", "Successfully created API key: " + result.get().getValue()); } else { Log.e("EXAMPLE", "Error creating API key: " + result.getError().getErrorMessage()); } });
val user = app.currentUser() user!!.apiKeys.createAsync("Name-of-the-API-Key") { result -> if (result.isSuccess) { Log.v("EXAMPLE", "Successfully created API key: ${result.get().value}") } else { Log.e("EXAMPLE", "Error creating API key: ${result.error}") } }
Pesquisar uma chave de API do usuário
Para obter uma lista de todas as chaves API do usuário associadas ao usuário conectado, chame o método síncrono fetchAll() ou o método assíncrono fetchAll() de um usuário conectado à instância ApiKeyAuth .
User user = app.currentUser(); user.getApiKeys().fetchAll(result -> { if (result.isSuccess()) { Log.v("EXAMPLE", "Successfully fetched API keys: " + Arrays.toString(result.get().toArray())); } else { Log.e("EXAMPLE", "Error fetching API keys: " + result.getError().getErrorMessage()); } });
val user = app.currentUser() user!!.apiKeys .fetchAll { result -> if (result.isSuccess) { Log.v("EXAMPLE", "Successfully fetched API keys: ${result.get().toTypedArray()}") } else { Log.e("EXAMPLE", "Error fetching API keys: ${result.error}") } }
Para procurar uma chave de API de usuário específica para o usuário conectado, passe o ID da chave para os métodos fetch() ou fetchAsync() de um usuário conectado .
User user = app.currentUser(); user.getApiKeys().fetchAsync(api_key_id, result -> { if (result.isSuccess()) { Log.v("EXAMPLE", "Successfully fetched API key: " + result.get()); } else { Log.e("EXAMPLE", "Error fetching API key: " + result.getError().getErrorMessage()); } });
val user = app.currentUser() user!!.apiKeys.fetchAsync(api_key_id) { result -> if (result.isSuccess) { Log.v("EXAMPLE", "Successfully fetched API key: ${result.get()}") } else { Log.e("EXAMPLE", "Error fetching API key: ${result.error}") } }
Habilitar ou desabilitar uma chave de API do usuário
Desabilitar uma chave de API do usuário
Para desabilitar uma chave de API de usuário específica sem excluí-la, passe o ID da chave para os métodos disable() ou disableAsync() de um usuário conectado .
User user = app.currentUser(); user.getApiKeys().disableAsync(api_key_id, result -> { if (result.isSuccess()) { Log.v("EXAMPLE", "Successfully disabled API key."); } else { Log.e("EXAMPLE", "Error disabling API key: " + result.getError().getErrorMessage()); } });
val user = app.currentUser() user!!.apiKeys.disableAsync(api_key_id) { result -> if (result.isSuccess) { Log.v("EXAMPLE", "Successfully disabled API key.") } else { Log.e("EXAMPLE", "Error disabling API key: ${result.error}") } }
Habilitar uma chave de API do usuário
Para habilitar uma chave de API de usuário específica que foi desabilitada anteriormente, passe o ID da chave para os métodos enable() ou enableAsync() de um usuário conectado na instância ApiKeyAuth .
User user = app.currentUser(); user.getApiKeys().enableAsync(api_key_id, result -> { if (result.isSuccess()) { Log.v("EXAMPLE", "Successfully enabled API key."); } else { Log.e("EXAMPLE", "Error fetching API key: " + result.getError().getErrorMessage()); } });
val user = app.currentUser() user!!.apiKeys.enableAsync(api_key_id) { result -> if (result.isSuccess) { Log.v("EXAMPLE", "Successfully enabled API key.") } else { Log.e("EXAMPLE", "Error fetching API key: ${result.error}") } }
Excluir uma chave de API do usuário
Para remover permanentemente uma chave de API de usuário específica, passe o ID da chave para os métodos delete() ou deleteAsync() de um usuário conectado .
User user = app.currentUser(); user.getApiKeys().deleteAsync(api_key_id, result -> { if (result.isSuccess()) { Log.v("EXAMPLE", "Successfully deleted API key."); } else { Log.e("EXAMPLE", "Error deleting API key: " + result.getError().getErrorMessage()); } });
val user = app.currentUser() user!!.apiKeys.deleteAsync(api_key_id) { result -> if (result.isSuccess) { Log.v("EXAMPLE", "Successfully deleted API key.") } else { Log.e("EXAMPLE", "Error deleting API key: ${result.error}") } }