Los SDK de dispositivos Atlas están obsoletos. Consulte deprecation page for details.
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.
Create a User API Key
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.
Useruser= 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}")
}
}
Look up a User API Key
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.
Useruser= 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.
Useruser= 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}")
}
}
Enable or Disable a User API Key
Disable a User API Key
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.
Useruser= 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}")
}
}
Enable a User API Key
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.
Useruser= 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}")
}
}
Delete a User API Key
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.
Useruser= 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}")