ユーザー API キーの管理 - Kotlin SDK
Kotlin SDK を使用して、ユーザーが再認証を行う必要なく、デバイスまたはサービスが既存のユーザーに代わって Realm と通信できるようにするユーザー API キーを作成および管理できます。
ユーザー API キーは、別の非匿名認証プロバイダによって作成されたユーザー オブジェクトに関連付けられます。 各ユーザーは、最大 20 個のユーザー キーを自身のアカウントに関連付けることができます。
user.apiKeyAuthインターフェイスを通じてキーを管理できます。
Tip
ユーザー 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)