Gerenciar chaves de API do usuário - Swift SDK
Nesta página
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.
Criar uma chave de API 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 }
Pesquisar uma chave de API do usuário
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) } }
Habilitar ou desabilitar uma chave de API do usuário
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 // ... }
Excluir uma chave de API do usuário
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 }