Atlas Device SDK 已弃用。 有关详细信息,请参阅
弃用页面。
应用程序用户可以使用 SDK 生成用户 API 密钥。 您可以将唯一的用户 API 密钥与每个设备或服务相关联,从而允许设备或服务代表用户与 Realm 进行通信。
用户 API 密钥始终与其他非匿名身份验证提供商创建的用户对象相关联。每个用户最多可以将 20 个用户密钥与其帐户关联。
要创建新的用户API密钥,请调用已登录用户的 apiKeyAuth 实例的 create() 或 createAsync() 方法。用户API密钥将与登录的用户相关联,并可用于代表用户与Realm进行交互。 您无法为匿名用户创建用户API密钥。
警告
存储 API 密钥值
SDK 仅在您创建用户 API 密钥时返回该密钥的值。 请确保安全存储 key
值,以便使用它登录。
如果丢失或未存储key
值,则无法恢复。 您需要创建新的用户 API 密钥。
User user = app.currentUser(); |
user.getApiKeys().createAsync("Name-of-the-API-Key", result -> { |
if (result.isSuccess()) { |
Log.v("EXAMPLE", "Successfully created API key: " + result.get().getValue()); |
} else { |
Log.e("EXAMPLE", "Error creating API key: " + result.getError().getErrorMessage()); |
} |
}); |
val user = app.currentUser() |
user!!.apiKeys.createAsync("Name-of-the-API-Key") { result -> |
if (result.isSuccess) { |
Log.v("EXAMPLE", "Successfully created API key: ${result.get().value}") |
} else { |
Log.e("EXAMPLE", "Error creating API key: ${result.error}") |
} |
} |
要获取与已登录用户关联的所有用户API密钥的列表,请调用已登录用户的 ApiKeyAuth 实例的同步 fetchAll() 方法或异步 fetchAll() 方法。
User user = app.currentUser(); |
user.getApiKeys().fetchAll(result -> { |
if (result.isSuccess()) { |
Log.v("EXAMPLE", "Successfully fetched API keys: " + Arrays.toString(result.get().toArray())); |
} else { |
Log.e("EXAMPLE", "Error fetching API keys: " + result.getError().getErrorMessage()); |
} |
}); |
val user = app.currentUser() |
user!!.apiKeys |
.fetchAll { result -> |
if (result.isSuccess) { |
Log.v("EXAMPLE", "Successfully fetched API keys: ${result.get().toTypedArray()}") |
} else { |
Log.e("EXAMPLE", "Error fetching API keys: ${result.error}") |
} |
} |
API要查找已登录用户的特定用户 密钥,请将该密钥的ID 传递给已登录用户的 ApiKeyAuth 实例的 fetch() 或 fetchAsync() 方法。
User user = app.currentUser(); |
user.getApiKeys().fetchAsync(api_key_id, result -> { |
if (result.isSuccess()) { |
Log.v("EXAMPLE", "Successfully fetched API key: " + result.get()); |
} else { |
Log.e("EXAMPLE", "Error fetching API key: " + result.getError().getErrorMessage()); |
} |
}); |
val user = app.currentUser() |
user!!.apiKeys.fetchAsync(api_key_id) { result -> |
if (result.isSuccess) { |
Log.v("EXAMPLE", "Successfully fetched API key: ${result.get()}") |
} else { |
Log.e("EXAMPLE", "Error fetching API key: ${result.error}") |
} |
} |
要禁用特定用户API 密钥而不删除它,请将该密钥的ID 传递给已登录用户的 ApiKeyAuth 实例的 disable() 或 disableAsync() 方法。
User user = app.currentUser(); |
user.getApiKeys().disableAsync(api_key_id, result -> { |
if (result.isSuccess()) { |
Log.v("EXAMPLE", "Successfully disabled API key."); |
} else { |
Log.e("EXAMPLE", "Error disabling API key: " + result.getError().getErrorMessage()); |
} |
}); |
val user = app.currentUser() |
user!!.apiKeys.disableAsync(api_key_id) { result -> |
if (result.isSuccess) { |
Log.v("EXAMPLE", "Successfully disabled API key.") |
} else { |
Log.e("EXAMPLE", "Error disabling API key: ${result.error}") |
} |
} |
要启用之前禁用的特定用户API 密钥,请将该密钥的ID 传递给已登录用户的 ApiKeyAuth 实例的 启用 () 或 enableAsync() 方法。
User user = app.currentUser(); |
user.getApiKeys().enableAsync(api_key_id, result -> { |
if (result.isSuccess()) { |
Log.v("EXAMPLE", "Successfully enabled API key."); |
} else { |
Log.e("EXAMPLE", "Error fetching API key: " + result.getError().getErrorMessage()); |
} |
}); |
val user = app.currentUser() |
user!!.apiKeys.enableAsync(api_key_id) { result -> |
if (result.isSuccess) { |
Log.v("EXAMPLE", "Successfully enabled API key.") |
} else { |
Log.e("EXAMPLE", "Error fetching API key: ${result.error}") |
} |
} |
要永久删除特定用户API 密钥,请将该密钥的ID 传递给已登录用户的 ApiKeyAuth 实例的 删除 () 或 deleteAsync() 方法。
User user = app.currentUser(); |
user.getApiKeys().deleteAsync(api_key_id, result -> { |
if (result.isSuccess()) { |
Log.v("EXAMPLE", "Successfully deleted API key."); |
} else { |
Log.e("EXAMPLE", "Error deleting API key: " + result.getError().getErrorMessage()); |
} |
}); |
val user = app.currentUser() |
user!!.apiKeys.deleteAsync(api_key_id) { result -> |
if (result.isSuccess) { |
Log.v("EXAMPLE", "Successfully deleted API key.") |
} else { |
Log.e("EXAMPLE", "Error deleting API key: ${result.error}") |
} |
} |