托管用户 API 密钥 - Kotlin SDK
Atlas Device SDK 已弃用。 有关详细信息,请参阅弃用页面。
您可以使用Kotlin SDK来创建和管理用户API密钥,该密钥允许设备或服务代表现有用户与Realm通信,而无需用户重新进行身份验证。
用户 API 密钥与另一个非匿名身份验证提供商创建的用户对象关联。每个用户最多可以将 20 个用户密钥与其帐户关联。
您可以通过user.apiKeyAuth接口管理密钥。
提示
用户 API 密钥与服务器 API 密钥不同,服务器 API 密钥允许用户或服务使用API 密钥身份验证提供程序直接向 Realm 进行身份验证。 要了解有关服务器 API 密钥的更多信息,请参阅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 密钥
要获取与已登录用户关联的所有用户 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)
启用或禁用用户 API 密钥
您可以通过使用密钥的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 密钥
要永久删除特定用户 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)