Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Administrar usuarios

Manage User API Keys - Java SDK

Application users can generate user API keys with the SDK. You can allow devices or services to communicate with Realm on behalf of a user by associating a unique user API key with each device or service.

Las claves de API de usuario siempre están asociadas a un objeto de usuario creado por otro proveedor de autenticación no anónimo. Cada usuario puede asociar hasta 20 claves de usuario con 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

Store the API Key Value

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.

If you lose or do not store the key value there is no way to recover it. You will need to create a new user API key.

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

To get a list of all user API keys associated with the logged in user, call the synchronous fetchAll() method or asynchronous fetchAll() method of a logged in user's ApiKeyAuth instance.

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

To look up a specific user API key for the logged in user, pass the key's id to the fetch() or fetchAsync() methods of a logged in user's ApiKeyAuth instance.

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

To disable a specific user API key without deleting it, pass the key's id to the disable() or disableAsync() methods of a logged in user's ApiKeyAuth instance.

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

To enable a specific user API key that was previously disabled, pass the key's id to the enable() or enableAsync() methods of a logged in user's ApiKeyAuth instance.

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