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 , consulte Autenticaçã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 utilizá-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}") } }