Puede utilizar el SDK de Kotlin para crear y administrar Claves de API de usuario que permiten que los dispositivos o servicios se comuniquen con Realm en nombre de un usuario existente sin necesidad de que el usuario vuelva a autenticarse.
Las claves API de usuario 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.
Puede administrar claves a través de la interfaz user.apiKeyAuth.
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 con claves API.
Crear una clave API de usuario
Para crear una nueva clave API de usuario, pase un nombre de clave único a ApiKeyAuth.create(). La clave creada se asociará con el usuario conectado y podrá usarse para interactuar con Realm en su nombre. No se pueden 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.
val user = app.currentUser!! val provider = user.apiKeyAuth // Create an API key for the logged-in user val key = provider.create("apiKeyName")
Buscar una clave API de usuario
Para obtener una lista de todas las claves API de usuario asociadas con el usuario que inició sesión, llame a ApiKeyAuth.fetchAll().
Para encontrar una clave API de usuario específica para el usuario que inició sesión, pase la clave id a ApiKeyAuth.fetch().
val user = app.currentUser!! val provider = user.apiKeyAuth // Get all keys for the logged-in user val apiKeys = provider.fetchAll() // Get a specific key by its ID val apiKey = provider.fetch(key.id)
Habilitar o deshabilitar una clave API de usuario
Puede habilitar o deshabilitar una clave llamando a ApiKeyAuth.enable() o ApiKeyAuth.disable() con el valor id de la clave. No puede usar claves deshabilitadas para iniciar sesión en nombre del usuario.
val user = app.currentUser!! val provider = user.apiKeyAuth // ... fetch the key to enable or disable // Enable an API key that's currently disabled provider.enable(key.id) // Disable an API key that's currently enabled provider.disable(key.id)
Eliminar una clave API de usuario
Para eliminar permanentemente la clave API de un usuario específico, transfiera el valor de la clave id a ApiKeyAuth.delete(). No es posible recuperar las claves eliminadas ni usarlas para iniciar sesión en nombre del usuario.
val user = app.currentUser!! val provider = user.apiKeyAuth // ... fetch the key to delete // Delete the specified API key provider.delete(key.id)