Docs Menu
Docs Home
/ /
Administrar usuarios

Administrar claves API de usuario - SDK de Java

Los usuarios de la aplicación pueden generar claves API de usuario con el SDK. Puede permitir que los dispositivos o servicios se comuniquen con Realm en nombre de un usuario asociando una clave API de usuario única a cada dispositivo o servicio.

Las claves de API de usuario siempre se asocian a un objeto de usuario creado por otro proveedor de autenticación no anónimo. Cada usuario puede asociar hasta 20 claves de usuario a su cuenta.

Tip

Las claves API de usuario no son lo mismo que las claves API de servidor, que permiten a un usuario o servicio autenticarse directamente con Realm mediante el proveedor de autenticación de claves API. Para obtener más información sobre las claves API de servidor, consulte Autenticación de clave API.

Para crear una nueva clave API de usuario, llama a los métodos create() o createAsync() de una instancia apiKeyAuth de usuario con sesión iniciada. La clave API de usuario se asociará con el usuario autenticado y podrá usarse para interactuar con Realm en su nombre. No puedes crear claves API de usuario para usuarios anónimos.

Advertencia

Almacenar el valor de la clave API

El SDK solo devuelve el valor de la clave API del usuario al crearla. Asegúrese de almacenarla. key valor de forma segura para que puedas usarlo para iniciar sesión.

Si pierde o no guarda el valor key, no podrá recuperarlo. Deberá crear una nueva clave API de usuario.

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}")
}
}

Para obtener una lista de todas las claves API de usuario asociadas con el usuario que inició sesión, llame al método fetchAll() sincrónico o al método fetchAll() asincrónico de la instancia ApiKeyAuth de un usuario que inició sesión.

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 buscar una clave API de usuario específica para el usuario que inició sesión, pase el ID de la clave a los métodos fetch() o fetchAsync() de la instancia ApiKeyAuth de un usuario que inició sesión.

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}")
}
}

Para deshabilitar una clave API de usuario específica sin eliminarla, pase el ID de la clave a los métodos disabled() o disabledAsync() de la instancia ApiKeyAuth de un usuario que haya iniciado sesión.

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}")
}
}

Para habilitar una clave API de usuario específica que estaba previamente deshabilitada, pase el ID de la clave a los métodos enable() o enableAsync() de la instancia ApiKeyAuth de un usuario que haya iniciado sesión.

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}")
}
}

Para remover permanentemente una clave de API de usuario específica, pasa el id de la clave a los métodos delete() o deleteAsync() de una instancia ApiKeyAuth de un usuario que haya iniciar sesión.

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}")
}
}

Volver

Vincular identidades de usuario

En esta página