Gerenciar chaves de API do usuário - .NET SDK
Nesta página
Os usuários do aplicativo podem gerar chaves de API do usuário com o .NET SDK. Você pode permitir que dispositivos ou serviços se comuniquem com o Atlas App Services em nome de um usuário associando uma chave de API de usuário exclusiva a cada dispositivo ou serviço.
As chaves de API do usuário estão sempre associadas a um objeto de usuário criado por outro provedor de autenticação não anônimo. Cada usuário pode associar até 20 chaves de usuário à sua conta.
Observação
As chaves de API do usuário não são iguais às chaves de API do servidor, que permitem que um usuário ou serviço se autentique diretamente com o App Services usando o provedor de autenticação de chave de API. Para saber mais sobre as chaves de API do servidor , consulteAutenticação de chaves de API .
Criar uma chave 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 usá-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.
var newKey = await user.ApiKeys.CreateAsync("someKeyName"); Console.WriteLine($"I created a key named {newKey.Name}. " + $"Is it enabled? {newKey.IsEnabled}");
Pesquisar uma chave de API do usuário
Para obter uma única chave:
var key = await user.ApiKeys.FetchAsync(ObjectId.Parse("00112233445566778899aabb")); Console.WriteLine($"I fetched the key named {key.Name}. " + $"Is it enabled? {key.IsEnabled}");
Para obter todas as chaves:
var allKeys = await user.ApiKeys.FetchAllAsync(); foreach (var key in allKeys) { Console.WriteLine($"I fetched the key named {key.Name}. " + $"Is it enabled? {key.IsEnabled}"); }
Habilitar ou desabilitar uma chave de API
var key = await user.ApiKeys.FetchAsync(ObjectId.Parse("00112233445566778899aabb")); if (!key.IsEnabled) { // enable the key await user.ApiKeys.EnableAsync(key.Id); } else { // disable the key await user.ApiKeys.DisableAsync(key.Id); }
Excluir uma chave de API
await user.ApiKeys.DeleteAsync(ObjectId.Parse("00112233445566778899aabb"));