Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

Gerenciar chaves de API do usuário - Swift SDK

Nesta página

  • Criar uma chave de API do usuário
  • Pesquisar uma chave de API do usuário
  • Habilitar ou desabilitar uma chave de API do usuário
  • Excluir uma chave de API do usuário

Você pode gerenciar uma chave de API do usuário com a instância de autenticação da chave de API de um usuário, que pode ser acessada por meio da propriedadeapiKeysAuth do usuário.

Você pode criar uma chave de API do usuário com o método createAPIKey da instância de autenticação da chave de API.

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.

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
}

Você pode procurar uma chave de API do usuário com o método fetchAPIKey da instância de autenticação da chave de 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)
}
}

Você pode habilitar ou desabilitar uma chave de API do usuário com os métodos enableAPIKey e disableAPIKey da instância de autenticação da chave de 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
// ...
}

Você pode excluir uma chave de API do usuário com o método deleteAPIKey da instância de autenticação da chave de API.

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
}

Voltar

Vincular identidades do usuário