Los usuarios de la aplicación pueden generar claves API de usuario con el SDK de .NET. Puede permitir que los dispositivos o servicios se comuniquen con Atlas App Services en nombre de un usuario asociando una clave API de usuario única a cada dispositivo o servicio.
Las claves de API de usuario siempre 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.
Nota
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 App Services mediante el proveedor de autenticación de claves API. Para obtener más información sobre las claves API de servidor, consulte Autenticación de clave API.
Crear una clave API de usuario
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.
var newKey = await user.ApiKeys.CreateAsync("someKeyName"); Console.WriteLine($"I created a key named {newKey.Name}. " + $"Is it enabled? {newKey.IsEnabled}");
Buscar una clave API de usuario
Para obtener una sola clave:
var key = await user.ApiKeys.FetchAsync(ObjectId.Parse("00112233445566778899aabb")); Console.WriteLine($"I fetched the key named {key.Name}. " + $"Is it enabled? {key.IsEnabled}");
Para obtener todas las claves:
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 o deshabilitar una clave 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); }
Eliminar una clave API
await user.ApiKeys.DeleteAsync(ObjectId.Parse("00112233445566778899aabb"));