Criar e gerenciar chaves de API do usuário - SDK da Web
Nesta página
Visão geral
Você pode usar o Web SDK para criar e gerenciarchaves de API de usuário que permitem que os serviços façam login e interajam com sua aplicação em nome de um usuário existente sem exigir que o usuário se autentique novamente.
As chaves de API do usuário são gerenciadas como parte do provedor de autenticação de chave de API, mas só podem ser criadas para usuários associados a um provedor de autenticação não anônimo diferente.
Os objeto de usuário no Web SDK incluem um objeto ApiKeyAuth
que expõe métodos para trabalhar com as API desse usuário.
Criar uma chave de API do usuário
Para criar uma nova chave de API do usuário, chame ApiKeyAuth.create()
com um nome de identificação para a chave. O nome deve ser uma string exclusiva entre todas as chaves de API do usuário.
Aviso
Armazenar o valor da chave de API
O SDK só retorna o valor da chave de API do usuário quando você o cria. Certifique-se de armazenar o valor key
com segurança para que você possa utilizá-lo para se conectar.
Se você perder ou não armazenar o valor do key
, não haverá como recuperá-lo. Você precisará criar uma nova chave de API do usuário.
const user = app.currentUser; const key = await user.apiKeys.create("myApiKey");
Pesquisar uma chave de API do usuário
Para obter uma array que lista todas as chaves de API de um usuário, chame ApiKeyAuth.fetchAll()
. Você também pode encontrar uma chave de API específica chamando ApiKeyAuth.fetch()
com o _id
da chave.
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 ou desabilitar uma chave de API
Você pode habilitar ou desabilitar uma chave de API do usuário chamando ApiKeyAuth.enable()
ou ApiKeyAuth.disable()
com o _id
da chave. Quando uma chave está desativada, ela não pode ser usada para fazer login em nome do usuário.
// 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);
Excluir uma chave de API
Você pode excluir permanentemente uma chave de API do usuário ligando para ApiKeyAuth.delete()
com o _id
da chave. As chaves excluídas não podem mais ser usadas para fazer login em nome do usuário.
// 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);