Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ /

托管用户 API 密钥 — Java SDK

在此页面上

  • 创建用户 API 密钥。
  • 查找用户 API 密钥
  • 启用或禁用用户 API 密钥
  • 禁用用户 API 密钥
  • 启用用户 API 密钥
  • 删除用户 API 密钥

应用程序用户可以使用 SDK 生成用户 API 密钥。 您可以将唯一的用户 API 密钥与每个设备或服务相关联,从而允许设备或服务代表用户与 Realm 进行通信。

用户 API 密钥始终与其他非匿名身份验证提供商创建的用户对象相关联。每个用户最多可以将 20 个用户密钥与其帐户关联。

提示

用户API密钥与服务器API密钥不同,服务器 API 密钥允许用户或服务使用API密钥身份验证提供者直接向Realm进行身份验证。 要学习;了解有关服务器API密钥的更多信息,请参阅 API密钥身份验证。

要创建新的用户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}")
}
}

后退

关联用户身份