Overview
Puede utilizar el SDK web para crear y administrar Claves API de usuario que permiten que los servicios inicien sesión e interactúen con su aplicación en nombre de un usuario existente sin necesidad de que el usuario vuelva a autenticarse.
Las claves API de usuario se administran como parte del proveedor de autenticación de claves API, pero solo se pueden crear para usuarios asociados con un proveedor de autenticación diferente y no anónimo.
Los objetos de usuario en el SDK web incluyen un ApiKeyAuth objeto que expone métodos para trabajar con las claves API de ese usuario.
Crear una clave API de usuario
Para crear una nueva clave API de usuario, llama a ApiKeyAuth.create() con un nombre identificativo para la clave. El nombre debe ser una string única entre todas las claves API del usuario.
Advertencia
Almacenar el valor de la clave API
El SDK solo devuelve el valor de la clave API del usuario al crearla. Asegúrate de almacenar el valor key de forma segura para poder usarlo al iniciar sesión.
Si pierde o no guarda el valor key, no podrá recuperarlo. Deberá crear una nueva clave API de usuario.
const user = app.currentUser; const key = await user.apiKeys.create("myApiKey");
Buscar una clave API de usuario
Para obtener una matriz que incluya todas las claves API de un usuario, llame a ApiKeyAuth.fetchAll(). También puede encontrar una clave API específica llamando a ApiKeyAuth.fetch() con el _id de la clave.
const user = app.currentUser; // List all of a user's keys const keys = await user.apiKeys.fetchAll(); // Get a specific key by its ID const key = await user.apiKeys.fetch(API_KEY_ID);
Habilitar o deshabilitar una clave de API
Puede habilitar o deshabilitar una clave API de usuario llamando a ApiKeyAuth.enable() o ApiKeyAuth.disable() con el _id de la clave. Cuando una clave está deshabilitada, no se puede usar para iniciar sesión en nombre del usuario.
// Get the ID of a User API Key const user = app.currentUser; const apiKeys = await user.apiKeys.fetchAll(); const keyId = apiKeys[0]["_id"]; // Enable the User API Key await user.apiKeys.enable(keyId); // Disable the User API Key await user.apiKeys.disable(keyId);
Eliminar una clave API
Puedes eliminar permanentemente la clave API de un usuario llamando a ApiKeyAuth.delete() con el _id de la clave. Las claves eliminadas ya no se pueden usar para iniciar sesión en nombre del usuario.
// Get the ID of a User API Key const user = app.currentUser; const apiKeys = await user.apiKeys.fetchAll(); const keyId = apiKeys.find((key) => key.name === "apiKeyToDelete")._id; // Delete the User API Key await user.apiKeys.delete(keyId);