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

托管用户 API 密钥 - Kotlin SDK

在此页面上

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

您可以使用Kotlin SDK来创建和管理用户API密钥,该密钥允许设备或服务代表现有用户与Realm通信,而无需用户重新进行身份验证。

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

您可以通过user.apiKeyAuth接口管理密钥。

提示

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

要创建新的用户 API 密钥,请将唯一的密钥名称传递给ApiKeyAuth.create() 。 创建的密钥将与登录用户相关联,并可用于代表用户与 Realm 进行交互。 您无法为匿名用户创建用户 API 密钥。

警告

存储 API 密钥值

SDK 仅在您创建用户 API 密钥时返回该密钥的值。 请确保安全存储 key值,以便使用它登录。

如果丢失或未存储key值,则无法恢复。 您需要创建新的用户 API 密钥。

val user = app.currentUser!!
val provider = user.apiKeyAuth
// Create an API key for the logged-in user
val key = provider.create("apiKeyName")

要获取与已登录用户关联的所有用户 API 密钥的列表,请调用ApiKeyAuth.fetchAll()。

要查找已登录用户的特定用户 API 密钥,请将密钥的id传递给ApiKeyAuth.fetch()。

val user = app.currentUser!!
val provider = user.apiKeyAuth
// Get all keys for the logged-in user
val apiKeys = provider.fetchAll()
// Get a specific key by its ID
val apiKey = provider.fetch(key.id)

您可以通过使用密钥的id调用ApiKeyAuth.enable()ApiKeyAuth.disable()来启用或禁用密钥。 您不能使用已禁用的密钥代表用户登录。

val user = app.currentUser!!
val provider = user.apiKeyAuth
// ... fetch the key to enable or disable
// Enable an API key that's currently disabled
provider.enable(key.id)
// Disable an API key that's currently enabled
provider.disable(key.id)

要永久删除特定用户 API 密钥,请将该密钥的id传递给ApiKeyAuth.delete() 。 您无法恢复已删除的密钥,也无法使用它们代表用户登录。

val user = app.currentUser!!
val provider = user.apiKeyAuth
// ... fetch the key to delete
// Delete the specified API key
provider.delete(key.id)

后退

关联用户身份