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 |
| } |
| |
| } |