You can manage a user API key with a user's API Key auth instance, which you can access through the user's apiKeysAuth property.
You can create a user API key with the API key auth instance's createAPIKey method.
Warning
Store the API Key Value
The SDK only returns the value of the user API key when you create it. Make sure to store the key
value securely so that you can use it to log in.
If you lose or do not store the key
value there is no way to recover it. You will need to create a new user API key.
RLMApp *app = [RLMApp appWithId:YOUR_APP_ID]; |
|
RLMUser *user = [app currentUser]; |
RLMAPIKeyAuth *client = [user apiKeysAuth]; |
|
|
[client createAPIKeyWithName:@"someKeyName" completion:^(RLMUserAPIKey *apiKey, NSError *error) { |
if (error != nil) { |
|
} else { |
|
} |
}]; |
let app = App(id: YOUR_APP_SERVICES_APP_ID) |
|
|
|
|
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 |
} |
|
} |
You can look up a user API key with the API key auth instance's fetchAPIKey method.
RLMApp *app = [RLMApp appWithId:YOUR_APP_ID]; |
|
RLMUser *user = [app currentUser]; |
RLMAPIKeyAuth *client = [user apiKeysAuth]; |
|
|
NSError *error = nil; |
RLMObjectId *objectId = [[RLMObjectId alloc] initWithString:@"someObjectId" error:&error]; |
[client fetchAPIKey:objectId completion:^(RLMUserAPIKey *apiKey, NSError *error) { |
if (error != nil) { |
|
} else { |
|
} |
}]; |
|
|
[client fetchAPIKeysWithCompletion:^(NSArray<RLMUserAPIKey *> *keys, NSError *error) { |
if (error != nil) { |
|
} else { |
for (RLMUserAPIKey *key in keys) { |
|
} |
} |
}]; |
let app = App(id: YOUR_APP_SERVICES_APP_ID) |
|
|
|
let user = app.currentUser! |
let client = user.apiKeysAuth |
|
|
client.fetchAPIKey(ObjectId("00112233445566778899aabb")) { (maybeApiKey, error) in |
|
} |
|
|
client.fetchAPIKeys { (keys, error) in |
guard error == nil else { |
fatalError("Failed to fetch keys: \(error!)") |
} |
for key in keys! { |
|
print(key.name) |
} |
} |
You can enable or disable a user API key with the API key auth instance's enableAPIKey and disableAPIKey methods.
RLMApp *app = [RLMApp appWithId:YOUR_APP_ID]; |
|
RLMUser *user = [app currentUser]; |
RLMAPIKeyAuth *client = [user apiKeysAuth]; |
|
|
RLMObjectId *objectId = [[RLMObjectId alloc] initWithString:@"00112233445566778899aabb" error:nil]; |
[client enableAPIKey:objectId completion:^(NSError *error) { |
|
}]; |
|
RLMUserAPIKey *apiKey; |
|
|
|
|
[client disableAPIKey:[apiKey objectId] completion:^(NSError *error) { |
|
}]; |
let app = App(id: YOUR_APP_SERVICES_APP_ID) |
|
|
|
let user = app.currentUser! |
|
let client = user.apiKeysAuth |
|
|
client.enableAPIKey(ObjectId("00112233445566778899aabb")) { (error) in |
|
} |
|
let apiKey: UserAPIKey? |
|
|
|
|
client.disableAPIKey(apiKey!.objectId) { (error) in |
|
} |
You can delete a user API key with the API key auth instance's deleteAPIKey method.
RLMApp *app = [RLMApp appWithId:YOUR_APP_ID]; |
|
RLMUser *user = [app currentUser]; |
RLMAPIKeyAuth *client = [user apiKeysAuth]; |
|
RLMUserAPIKey *apiKey; |
|
|
|
[client deleteAPIKey:[apiKey objectId] completion:^(NSError *error) { |
|
}]; |
let app = App(id: YOUR_APP_SERVICES_APP_ID) |
|
|
|
let user = app.currentUser! |
let client = user.apiKeysAuth |
|
let apiKey: UserAPIKey? |
|
|
|
client.deleteAPIKey(apiKey!.objectId) { (error) in |
guard error == nil else { |
print("Failed to delete key: \(error!)") |
return |
} |
|
} |