Overview
El proveedor de autenticación de clave API permite a los usuarios iniciar sesión utilizando claves generadas.
App Services supports the following two types of API keys:
Claves de API del servidor: claves de API asociadas con los usuarios del servidor que se crean desde la CLI, la API o la interfaz de usuario de App Services.
Claves de API de usuario: claves de API creadas a partir de los SDK de Realm asociados con los usuarios de la aplicación.
Las llaves de API no expiran automáticamente.
Habilita la autenticación con clave de API
Para trabajar con usuarios con clave API, primero debe habilitar el proveedor de autenticación de clave API. El proveedor de autenticación con clave API no tiene ninguna opción de configuración.
Puede habilitar y configurar el proveedor de autenticación de clave API desde la interfaz de usuario de App Services seleccionando API Keys desde la página Authentication.
Para habilitar y configurar el proveedor de autenticación de clave API con
:ref:`App Services CLI <appservices-cli>`, defina un objeto de configuración para él /auth/providers.json en.
Las configuraciones del proveedor de claves API tienen el siguiente formato:
{ "api-key": { "name": "api-key", "type": "api-key", "disabled": false } }
Tip
El name de un proveedor de autenticación siempre es el mismo que su type.
Objetos de usuario clave de API
Cada usuario de App Services tiene un objeto de metadatos único. Este objeto se pasa a las funciones que llama el usuario y a las expresiones de reglas para las solicitudes que realiza. En los objetos de usuario de clave de API, el campo type tiene el valor "server". Por ejemplo:
{ id: "<Unique User ID>", type: "server", data: <user data object>, custom_data: <custom user data object>, identities: <array of user identities>, }
You can use this field to evaluate if requests come from API keys.
For more information, refer to User Objects.
Claves de API del servidor
Las claves API del servidor se generan en el servidor mediante la CLI, la API o la interfaz de usuario de App Services. Al crear una clave API del servidor, también se crea un usuario asociado.
You can provide a server key to external applications and services to allow them to authenticate directly with App Services.
You can associate up to 100 server API keys with an app.
Create a Server API Key
You must enable the API key provider before you can create an API key.
Importante
Debes copiar el valor de la clave del servidor en cuanto la crees. Una vez creada la clave API, ya no podrás recuperarla.
Seleccione App Users en el menú de navegación de la izquierda.
Selecciona el botón Authentication Providers y luego selecciona el proveedor API Keys.
Si el proveedor de clave API no está habilitado actualmente, debe habilitarlo y luego implementar los cambios antes de poder crear una clave.
Haga clic en Create API Key.
Ingrese un nombre único para la clave y luego haga clic en Save.
Para crear una nueva clave API de servidor, llame a appservices users create y especifique --type=api-key. La CLI le solicitará el ID de su aplicación y un nombre para la nueva clave API.
appservices users create --type=api-key
También puedes especificar los argumentos cuando llamas al programa:
appservices users create --type=api-key \ --app=<Your App ID> \ --name=<API Key Name>
Para crear una clave API de servidor mediante la API de administración, realice una solicitud a la Crear un nuevo punto final de clave API.
Claves API de usuario
Puedes generar claves API de usuario con los SDK de Realm. Cada clave API de usuario está asociada a un único usuario no anónimo. Cada usuario puede asociar hasta 20 claves API de usuario a su cuenta. Una vez asociada la clave a una cuenta de usuario, el usuario puede usarla para autenticarse. El siguiente diagrama muestra cómo crear y usar una clave API de usuario:

To learn how to generate user API keys, refer to the Realm SDK documentation.
Ejemplos de SDK de Realm
Para obtener ejemplos de código que demuestran cómo registrarse e iniciar sesión mediante la autenticación de clave API, consulte la documentación de los SDK de Realm.
Inicia sesión con una clave API
El SDK de Realm puede iniciar sesión con un servidor existente o una clave API de usuario.
Create a User API Key
The Realm SDK can create a new user API key for an existing user account.
Aún no disponible para el SDK de C++