Docs Menu
Docs Home
/ /
Administrar usuarios

Administrar claves API de usuario - Swift SDK

Puede administrar una clave API de usuario con una instancia de autenticación de clave API de usuario, a la que puede acceder a través de la clave API del usuario. Propiedad apiKeysAuth.

Puede crear una clave API de usuario con el método createAPIKey de la instancia de autenticación de clave API.

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.

RLMApp *app = [RLMApp appWithId:YOUR_APP_ID];
// ... log in ...
RLMUser *user = [app currentUser];
RLMAPIKeyAuth *client = [user apiKeysAuth];
// Create the API key
[client createAPIKeyWithName:@"someKeyName" completion:^(RLMUserAPIKey *apiKey, NSError *error) {
if (error != nil) {
// ... handle Error ...
} else {
// ... use apiKey ...
}
}];
let app = App(id: YOUR_APP_SERVICES_APP_ID)
// ... log in ...
// User must not be an anonymous user.
let user = app.currentUser!
let client = user.apiKeysAuth
client.createAPIKey(named: "someKeyName") { (apiKey, error) in
guard error == nil else {
print("Failed to create key: \(error!)")
return
}
// Use apiKey
}

Puede buscar una clave API de usuario con el método fetchAPIKey de la instancia de autenticación de clave API.

RLMApp *app = [RLMApp appWithId:YOUR_APP_ID];
// ... log in ...
RLMUser *user = [app currentUser];
RLMAPIKeyAuth *client = [user apiKeysAuth];
// Fetch API key by a specific ObjectId
NSError *error = nil;
RLMObjectId *objectId = [[RLMObjectId alloc] initWithString:@"someObjectId" error:&error];
[client fetchAPIKey:objectId completion:^(RLMUserAPIKey *apiKey, NSError *error) {
if (error != nil) {
// ... handle error ...
} else {
// ... use apiKey ...
}
}];
// Fetch all API keys
[client fetchAPIKeysWithCompletion:^(NSArray<RLMUserAPIKey *> *keys, NSError *error) {
if (error != nil) {
// ... handle error ...
} else {
for (RLMUserAPIKey *key in keys) {
// ... use key ...
}
}
}];
let app = App(id: YOUR_APP_SERVICES_APP_ID)
// ... log in ...
let user = app.currentUser!
let client = user.apiKeysAuth
// Fetch a specific API key by ObjectId
client.fetchAPIKey(ObjectId("00112233445566778899aabb")) { (maybeApiKey, error) in
// ...
}
// Fetch all API keys
client.fetchAPIKeys { (keys, error) in
guard error == nil else {
fatalError("Failed to fetch keys: \(error!)")
}
for key in keys! {
// use key
print(key.name)
}
}

Puede habilitar o deshabilitar una clave API de usuario con los métodos enableAPIKey y disableAPIKey de la instancia de autenticación de clave API.

RLMApp *app = [RLMApp appWithId:YOUR_APP_ID];
// ... log in ...
RLMUser *user = [app currentUser];
RLMAPIKeyAuth *client = [user apiKeysAuth];
// Enable the API key with specific objectId
RLMObjectId *objectId = [[RLMObjectId alloc] initWithString:@"00112233445566778899aabb" error:nil];
[client enableAPIKey:objectId completion:^(NSError *error) {
// Handle error if any. Otherwise, enable was successful.
}];
RLMUserAPIKey *apiKey;
// ... Get an API key ...
// Disable the API key
[client disableAPIKey:[apiKey objectId] completion:^(NSError *error) {
// Handle error if any. Otherwise, disable was successful.
}];
let app = App(id: YOUR_APP_SERVICES_APP_ID)
// ... log in ...
let user = app.currentUser!
let client = user.apiKeysAuth
// Enable the API key
client.enableAPIKey(ObjectId("00112233445566778899aabb")) { (error) in
// ...
}
let apiKey: UserAPIKey?
// ... Obtain a user API key ...
// Disable the API key
client.disableAPIKey(apiKey!.objectId) { (error) in
// ...
}

Puede eliminar una clave de usuario de la API con la instancia de autenticación de la clave API utilizando el método deleteAPIKey.

RLMApp *app = [RLMApp appWithId:YOUR_APP_ID];
// ... log in ...
RLMUser *user = [app currentUser];
RLMAPIKeyAuth *client = [user apiKeysAuth];
RLMUserAPIKey *apiKey;
// ... Get an API key ...
[client deleteAPIKey:[apiKey objectId] completion:^(NSError *error) {
// Handle error if any. Otherwise, delete was successful.
}];
let app = App(id: YOUR_APP_SERVICES_APP_ID)
// ... log in ...
let user = app.currentUser!
let client = user.apiKeysAuth
let apiKey: UserAPIKey?
// ... Obtain a user API key ...
client.deleteAPIKey(apiKey!.objectId) { (error) in
guard error == nil else {
print("Failed to delete key: \(error!)")
return
}
// Key deleted
}

Volver

Vincular identidades de usuario

En esta página