ユーザー API キーの作成と管理 - Web SDK
Overview
Web SDK を使用して、ユーザーが再認証を必要とせずに、既存のユーザーに代わってアプリにログインして操作できるようにするユーザー API キーを作成および管理します。
ユーザー API キーはAPI キー認証プロバイダーの一部として管理されますが、別の非匿名認証プロバイダに関連付けられているユーザーに対してのみ作成できます。
Web SDK 内のユーザー オブジェクトには、そのユーザーの API キーを操作するためのメソッドを公開する ApiKeyAuth
オブジェクトが含まれています。
ユーザー API キーの作成
新しいユーザー API キーを作成するには、キーの識別名を指定してApiKeyAuth.create()
を呼び出します。 名前は、ユーザーのすべての API キー間で一意の string である必要があります。
警告
API キー値の保存
SDK は、作成時にのみユーザー API キーの値を返します。 ログインに使用できるように、 key
値を安全に保存してください。
key
の値を失うか保存しない場合、回復する方法はありません。 新しいユーザー API キーを作成する必要があります。
const user = app.currentUser; const key = await user.apiKeys.create("myApiKey");
ユーザー API キーの検索
ユーザーのすべての API キーをリストする配列を取得するには、 ApiKeyAuth.fetchAll()
を呼び出します。 また、キーの_id
を使用してApiKeyAuth.fetch()
を呼び出すことで、特定の API キーを見つけることもできます。
const user = app.currentUser; // List all of a user's keys const keys = await user.apiKeys.fetchAll(); // Get a specific key by its ID const key = await user.apiKeys.fetch(API_KEY_ID);
API キーの有効化または無効化
ユーザー API キーを有効または無効にするには、キーの_id
を使用してApiKeyAuth.enable()
またはApiKeyAuth.disable()
を呼び出します。 キーが無効になっている場合、ユーザーに代わってログインするために使用することはできません。
// Get the ID of a User API Key const user = app.currentUser; const apiKeys = await user.apiKeys.fetchAll(); const keyId = apiKeys[0]["_id"]; // Enable the User API Key await user.apiKeys.enable(keyId); // Disable the User API Key await user.apiKeys.disable(keyId);
API キーを削除する
ユーザー API キーを永続的に削除するには、キーの_id
を指定してApiKeyAuth.delete()
を呼び出します。 削除されたキーを使用して、ユーザーに代わってログインすることはできなくなります。
// Get the ID of a User API Key const user = app.currentUser; const apiKeys = await user.apiKeys.fetchAll(); const keyId = apiKeys.find((key) => key.name === "apiKeyToDelete")._id; // Delete the User API Key await user.apiKeys.delete(keyId);